475 add missing rest authentication by dhleong · Pull Request #711 · androidannotations/androidannotations · GitHub
Skip to content
This repository was archived by the owner on Feb 26, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import com.sun.codemodel.JCodeModel;
import com.sun.codemodel.JExpr;
import com.sun.codemodel.JExpression;
import com.sun.codemodel.JInvocation;

public class HeadProcessor extends MethodProcessor {

Expand Down Expand Up @@ -54,6 +55,11 @@ public void process(Element element, JCodeModel codeModel, EBeanHolder holder) t
generateRestTemplateCallBlock(new MethodProcessorHolder(holder, executableElement, urlSuffix, expectedClass, expectedClass, codeModel));
}

@Override
protected JInvocation addHttpEntityVar(JInvocation restCall, MethodProcessorHolder methodHolder) {
return restCall.arg(generateHttpEntityVar(methodHolder));
}

@Override
protected JExpression addResultCallMethod(JExpression restCall, MethodProcessorHolder methodHolder) {
return JExpr.invoke(restCall, "getHeaders");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import com.sun.codemodel.JCodeModel;
import com.sun.codemodel.JExpr;
import com.sun.codemodel.JExpression;
import com.sun.codemodel.JInvocation;

public class OptionsProcessor extends MethodProcessor {

Expand Down Expand Up @@ -62,6 +63,11 @@ public void process(Element element, JCodeModel codeModel, EBeanHolder holder) t
generateRestTemplateCallBlock(new MethodProcessorHolder(holder, executableElement, urlSuffix, expectedClass, generatedReturnType, codeModel));
}

@Override
protected JInvocation addHttpEntityVar(JInvocation restCall, MethodProcessorHolder methodHolder) {
return restCall.arg(generateHttpEntityVar(methodHolder));
}

@Override
protected JExpression addResultCallMethod(JExpression restCall, MethodProcessorHolder methodHolder) {
restCall = JExpr.invoke(restCall, "getHeaders");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -242,13 +242,30 @@ public void authenticatedRequests() {
String xtValue = "1234";
String sjsaidValue = "5678";

myService.setHeader("SomeFancyHeader", "fancyHeaderToken");
final String fancyHeaderName = "SomeFancyHeader";
final String fancyToken = "fancyHeaderToken";
myService.setHeader(fancyHeaderName, fancyToken);

addPendingResponse("[]", "xt", xtValue, "sjsaid", sjsaidValue);
myService.authenticate();

assertEquals(xtValue, myService.getCookie("xt"));
assertEquals(sjsaidValue, myService.getCookie("sjsaid"));

RestTemplate restTemplate = mock(RestTemplate.class);
myService.setRestTemplate(restTemplate);

// deletes
ArgumentMatcher<HttpEntity<Void>> matcher = new ArgumentMatcher<HttpEntity<Void>>() {

@Override
public boolean matches(Object argument) {
final String expected = fancyToken;
return expected.equals(((HttpEntity<?>) argument).getHeaders().get(fancyHeaderName).get(0));
}
};
addPendingResponse("");
myService.removeEvent(0);
verify(restTemplate).exchange(Mockito.anyString(), eq(HttpMethod.DELETE), argThat(matcher), Mockito.<Class<Object>> any(), Mockito.<Map<String, ?>> any());
}
}