test_class.declarator: authenticationService
test_class.modifier: @Autowired
      private
test_class.original_string: @Autowired
      private AuthenticationService authenticationService;
test_class.type: AuthenticationService
test_class.var_name: authenticationService
test_class.file: frontend-navigation/src/test/java/bd/edu/seu/frontendnavigation/service/AuthenticationServiceTest.java
test_class.identifier: AuthenticationServiceTest
test_case.body: @Test
      public void authenticate_2012000000089_xyz123() {
          LoginToken loginToken = authenticationService.authenticate("2012000000089", "xyz123");
          assertEquals("2012000000089", loginToken.getUsername());
          assertEquals("Md. Masum", loginToken.getFullname());
          assertEquals("student", loginToken.getRole());
      }
test_case.class_method_signature: AuthenticationServiceTest.authenticate_2012000000089_xyz123()
test_case.full_signature: @Test public void authenticate_2012000000089_xyz123()
test_case.identifier: authenticate_2012000000089_xyz123
test_case.invocations: authenticate assertEquals getUsername assertEquals getFullname assertEquals getRole
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void authenticate_2012000000089_xyz123()
focal_class.declarator: authUrl
focal_class.modifier: @Value("${authenticateion.base-url}/auth")
      private
focal_class.original_string: @Value("${authenticateion.base-url}/auth")
      private String authUrl;
focal_class.type: String
focal_class.var_name: authUrl
focal_class.file: frontend-navigation/src/main/java/bd/edu/seu/frontendnavigation/service/AuthenticationService.java
focal_class.identifier: AuthenticationService
focal_class.class_method_signature: AuthenticationService.authenticate(String username, String password)
focal_class.full_signature: public LoginToken authenticate(String username, String password)
focal_class.identifier: authenticate
focal_class.modifiers: public
focal_class.parameters: (String username, String password)
focal_class.return: LoginToken
focal_class.signature: LoginToken authenticate(String username, String password)
focal_method.body: public LoginToken authenticate(String username, String password) {
          // TODO use REST template to communicate the backend
          RestTemplate restTemplate = new RestTemplate();
  
          MultiValueMap<String, String> multiValueMap = new LinkedMultiValueMap<>();
          multiValueMap.add("username", username);
          multiValueMap.add("password", password);
          LoginToken loginToken = restTemplate.postForObject(authUrl, multiValueMap, LoginToken.class);
  
          return loginToken;
      }
focal_method.class_method_signature: AuthenticationService.authenticate(String username, String password)
focal_method.full_signature: public LoginToken authenticate(String username, String password)
focal_method.identifier: authenticate
focal_method.invocations: add add postForObject
focal_method.modifiers: public
focal_method.parameters: (String username, String password)
focal_method.return: LoginToken
focal_method.signature: LoginToken authenticate(String username, String password)