|
|
@ -1,7 +1,10 @@ |
|
|
|
package de.fd.fh.network; |
|
|
|
|
|
|
|
import de.fd.fh.shared.Utils; |
|
|
|
import de.fd.fh.shared.network.messages.LoginResponse; |
|
|
|
import de.fd.fh.shared.network.messages.RegistrateRequest; |
|
|
|
import feign.Feign; |
|
|
|
import feign.Request; |
|
|
|
import feign.Response; |
|
|
|
import feign.gson.GsonDecoder; |
|
|
|
import feign.gson.GsonEncoder; |
|
|
@ -11,7 +14,7 @@ import feign.mock.MockTarget; |
|
|
|
import org.junit.jupiter.api.BeforeEach; |
|
|
|
import org.junit.jupiter.api.Test; |
|
|
|
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals; |
|
|
|
import static org.junit.jupiter.api.Assertions.*; |
|
|
|
|
|
|
|
class AccessClientTest |
|
|
|
{ |
|
|
@ -43,4 +46,31 @@ class AccessClientTest |
|
|
|
|
|
|
|
mockClient.verifyStatus(); |
|
|
|
} |
|
|
|
|
|
|
|
@Test |
|
|
|
void testLogin() |
|
|
|
{ |
|
|
|
mockClient |
|
|
|
.ok(HttpMethod.POST, "/accounts/login", |
|
|
|
"{\n" + |
|
|
|
" \"name\":\"testName\",\n" + |
|
|
|
" \"userId\": \"12345\",\n" + |
|
|
|
" \"token\": \"testToken\"\n" + |
|
|
|
"}" |
|
|
|
); |
|
|
|
final LoginResponse result = client.login("testToken"); |
|
|
|
|
|
|
|
final Request request = mockClient.verifyOne(HttpMethod.POST, "/accounts/login"); |
|
|
|
|
|
|
|
assertNotNull(result); |
|
|
|
assertEquals("testName", result.getName()); |
|
|
|
assertEquals("12345", result.getUserId()); |
|
|
|
assertEquals("testToken", result.getToken()); |
|
|
|
|
|
|
|
assertTrue(request.headers().get(Utils.AUTHENTICATION_HEADER).stream().findFirst().isPresent(), |
|
|
|
"Should have auth header"); |
|
|
|
final String authHeader = request.headers().get(Utils.AUTHENTICATION_HEADER).stream().findFirst().get(); |
|
|
|
|
|
|
|
assertEquals("Basic testToken", authHeader, "Should use given token."); |
|
|
|
} |
|
|
|
} |