You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB

  1. package de.fd.fh.network;
  2. import de.fd.fh.shared.network.messages.RegistrateRequest;
  3. import feign.Feign;
  4. import feign.Response;
  5. import feign.gson.GsonDecoder;
  6. import feign.gson.GsonEncoder;
  7. import feign.mock.HttpMethod;
  8. import feign.mock.MockClient;
  9. import feign.mock.MockTarget;
  10. import org.junit.jupiter.api.BeforeEach;
  11. import org.junit.jupiter.api.Test;
  12. import static org.junit.jupiter.api.Assertions.assertEquals;
  13. class AccessClientTest
  14. {
  15. private AccessClient client;
  16. private MockClient mockClient;
  17. @BeforeEach
  18. void before()
  19. {
  20. mockClient = new MockClient();
  21. client = Feign.builder()
  22. .decoder(new GsonDecoder())
  23. .encoder(new GsonEncoder())
  24. .client(mockClient)
  25. .target(new MockTarget<>(AccessClient.class));
  26. }
  27. @Test
  28. void testRegistrate()
  29. {
  30. mockClient.ok(HttpMethod.POST, "/accounts/registrate");
  31. final RegistrateRequest request = RegistrateRequest.of("TestName", "TestPassword");
  32. final Response result = client.registrate(request);
  33. assertEquals(200, result.status(), "Should return status code 200.");
  34. mockClient.verifyStatus();
  35. }
  36. }