Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/test suite #37

Closed
wants to merge 8 commits into from
Closed
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 @@ -19,7 +19,6 @@ public class AuthConfig {
@Bean
public FilterRegistrationBean<JwtAuthenticationFilter> filterRegistrationBean() {
System.out.println("tenantId: " + tenantId);

FilterRegistrationBean<JwtAuthenticationFilter> filter = new FilterRegistrationBean<>();
filter.setFilter(new JwtAuthenticationFilter(tenantId));
filter.addUrlPatterns("/api/ietswatiknietwiltesten");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public JwtAuthenticationFilter(String tenantId)
{
try {
logger.info("tenantId: " + tenantId);

provider = new UrlJwkProvider(new URL("https://login.microsoftonline.com/"+tenantId+"/discovery/v2.0/keys"));
} catch (MalformedURLException e) {
e.printStackTrace();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

@RestController
public class AuthTestController {

@Autowired
private UserRepository userRepository;

Expand Down
7 changes: 7 additions & 0 deletions backend/app/src/main/java/com/ugent/pidgeon/model/Auth.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import org.springframework.util.Assert;

import java.util.Collection;
import java.util.List;
import com.ugent.pidgeon.model.User;

public class Auth extends AbstractAuthenticationToken {
private static final long serialVersionUID = 620L;

Expand Down Expand Up @@ -51,6 +53,11 @@ public User getUser() {
return user;
}


public List<String> getGroups() {
return user.groups;
}

public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException {
Assert.isTrue(!isAuthenticated, "Cannot set this token to trusted - use constructor which takes a GrantedAuthority list instead");
super.setAuthenticated(false);
Expand Down
3 changes: 2 additions & 1 deletion backend/app/src/main/java/com/ugent/pidgeon/model/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ public User (String name, String firstName, String lastName, String email, List<
this.firstName = firstName;
this.lastName = lastName;
}
}
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.ugent.pidgeon.controllers;

import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.context.SpringBootTest.WebEnvironment;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.boot.test.web.server.LocalServerPort;

import static org.assertj.core.api.Assertions.assertThat;

@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT)
class HttpAuthControllerTest {

@LocalServerPort
private int port;

@Autowired
private TestRestTemplate restTemplate;

@Test
void indexHttpTest() throws Exception {
assertThat(this.restTemplate.getForObject("http://localhost:" + port + "/",
String.class)).contains("Running...");
}

@Test
void pingponghttpTest() throws Exception {
assertThat(this.restTemplate.getForObject("http://localhost:" + port + "/ping",
String.class)).contains("Pong");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
package com.ugent.pidgeon.controllers;

import com.ugent.pidgeon.model.User;
import com.ugent.pidgeon.model.Auth;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.core.authority.SimpleGrantedAuthority;

import java.util.List;

import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;

// Test de AuthTestController klasse direct door zijn methodes te laden
@SpringBootTest
public class StaticAuthControllerTest {
private final List<String> groepLijst = List.of("Groep 1");


private final User user = new User("Tester De Test", "Tester", "De Test",
"[email protected]", groepLijst, "123456");
private final List<SimpleGrantedAuthority> authLijst = List.of(new SimpleGrantedAuthority("READ_AUTHORITY"));
private final Auth auth = new Auth(user, authLijst);

@Autowired
private AuthTestController authTestController;


@Test
void contextLoads() throws Exception {
assertThat(authTestController).isNotNull();
}

@Test
void pingPong() throws Exception {
assertEquals(authTestController.ping(), "Pong");
}

@Test
void indexTest() throws Exception {
assertEquals(authTestController.index(), "Running...");
}

// Werkt voorlopig nog niet
// @Test
// void apiTest() throws Exception {
// assertEquals(authTestController.testApi(auth), user);
// assertEquals(authTestController.testApi(auth).groups, groepLijst);
// assertEquals(authTestController.testApi(auth).name, "Tester De Test");
// }
}
43 changes: 43 additions & 0 deletions backend/app/src/test/java/com/ugent/pidgeon/model/AuthTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.ugent.pidgeon.model;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.security.core.authority.SimpleGrantedAuthority;

import java.util.List;

@SpringBootTest
public class AuthTest {

private final List<String> groeplijst = List.of("testgroep1", "testgroep2");
private final User testUser = new User("John Doe", "John", "Doe", "[email protected]", groeplijst, "123456");

private final List<SimpleGrantedAuthority> authLijst = List.of(new SimpleGrantedAuthority("READ_AUTHORITY"));
private final Auth auth = new Auth(testUser, authLijst);

@Test
public void nameTest(){
Assertions.assertEquals(auth.getName(), "John Doe");
}

@Test
public void emailTest(){
Assertions.assertEquals(auth.getEmail(), "[email protected]");
}
@Test
public void groupTest(){
Assertions.assertEquals(auth.getGroups().size(), 2);
Assertions.assertEquals(auth.getGroups().get(0), "testgroep1");
}
@Test
public void oidTest(){
Assertions.assertEquals(auth.getCredentials(), "123456");
}

@Test
public void userTest(){
Assertions.assertEquals(auth.getUser(), testUser);
}

}
20 changes: 20 additions & 0 deletions backend/app/src/test/java/com/ugent/pidgeon/model/UserTest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.ugent.pidgeon.model;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
public class UserTest {

private final List<String> groeplijst = List.of("testgroep1", "testgroep2");
private final User testUser = new User("John Doe", "John", "Doe", "[email protected]", groeplijst, "123456");

@Test
public void isNotNull(){
Assertions.assertNotNull(testUser);
}

}
Loading