Search in sources :

Example 11 with Page

use of com.alibaba.nacos.config.server.model.Page in project nacos by alibaba.

the class Role_ITCase method createDeleteQueryRole.

@Test
public void createDeleteQueryRole() {
    login();
    // Create a user:
    ResponseEntity<String> response = request("/nacos/v1/auth/users", Params.newParams().appendParam("username", "username2").appendParam("password", "password1").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.POST);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    // Create a role:
    response = request("/nacos/v1/auth/roles", Params.newParams().appendParam("role", "role1").appendParam("username", "username2").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.POST);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    // Query role of user:
    response = request("/nacos/v1/auth/roles", Params.newParams().appendParam("username", "username2").appendParam("pageNo", "1").appendParam("pageSize", "10").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.GET);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    Page<RoleInfo> roleInfoPage = JacksonUtils.toObj(response.getBody(), new TypeReference<Page<RoleInfo>>() {
    });
    Assert.assertNotNull(roleInfoPage);
    Assert.assertNotNull(roleInfoPage.getPageItems());
    boolean found = false;
    for (RoleInfo roleInfo : roleInfoPage.getPageItems()) {
        if (roleInfo.getRole().equals("role1")) {
            found = true;
            break;
        }
    }
    Assert.assertTrue(found);
    // Add second role to user:
    response = request("/nacos/v1/auth/roles", Params.newParams().appendParam("role", "role2").appendParam("username", "username2").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.POST);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    // Query roles of user:
    response = request("/nacos/v1/auth/roles", Params.newParams().appendParam("username", "username2").appendParam("pageNo", "1").appendParam("pageSize", "10").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.GET);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    roleInfoPage = JacksonUtils.toObj(response.getBody(), new TypeReference<Page<RoleInfo>>() {
    });
    Assert.assertNotNull(roleInfoPage);
    Assert.assertNotNull(roleInfoPage.getPageItems());
    found = false;
    boolean found2 = false;
    for (RoleInfo roleInfo : roleInfoPage.getPageItems()) {
        if (roleInfo.getRole().equals("role1")) {
            found = true;
        }
        if (roleInfo.getRole().equals("role2")) {
            found2 = true;
        }
        if (found && found2) {
            break;
        }
    }
    Assert.assertTrue(found);
    Assert.assertTrue(found2);
    // Delete role:
    response = request("/nacos/v1/auth/roles", Params.newParams().appendParam("role", "role2").appendParam("username", "username2").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.DELETE);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    // Query roles of user:
    response = request("/nacos/v1/auth/roles", Params.newParams().appendParam("username", "username2").appendParam("pageNo", "1").appendParam("pageSize", "10").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.GET);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    roleInfoPage = JacksonUtils.toObj(response.getBody(), new TypeReference<Page<RoleInfo>>() {
    });
    Assert.assertNotNull(roleInfoPage);
    Assert.assertNotNull(roleInfoPage.getPageItems());
    found = false;
    found2 = false;
    for (RoleInfo roleInfo : roleInfoPage.getPageItems()) {
        if (roleInfo.getRole().equals("role1")) {
            found = true;
        }
        if (roleInfo.getRole().equals("role2")) {
            found2 = true;
        }
    }
    Assert.assertFalse(found2);
    Assert.assertTrue(found);
    // Delete role:
    response = request("/nacos/v1/auth/roles", Params.newParams().appendParam("role", "role1").appendParam("username", "username2").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.DELETE);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    // Query roles of user:
    response = request("/nacos/v1/auth/roles", Params.newParams().appendParam("username", "username2").appendParam("pageNo", "1").appendParam("pageSize", "10").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.GET);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    roleInfoPage = JacksonUtils.toObj(response.getBody(), new TypeReference<Page<RoleInfo>>() {
    });
    Assert.assertNotNull(roleInfoPage);
    Assert.assertNotNull(roleInfoPage.getPageItems());
    found = false;
    found2 = false;
    for (RoleInfo roleInfo : roleInfoPage.getPageItems()) {
        if (roleInfo.getRole().equals("role1")) {
            found = true;
        }
        if (roleInfo.getRole().equals("role2")) {
            found2 = true;
        }
    }
    Assert.assertFalse(found2);
    Assert.assertFalse(found);
}
Also used : RoleInfo(com.alibaba.nacos.plugin.auth.impl.persistence.RoleInfo) Page(com.alibaba.nacos.config.server.model.Page) TypeReference(com.fasterxml.jackson.core.type.TypeReference) HttpClient4Test(com.alibaba.nacos.test.base.HttpClient4Test) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Example 12 with Page

use of com.alibaba.nacos.config.server.model.Page in project nacos by alibaba.

the class User_ITCase method createUpdateDeleteUser.

@Test
public void createUpdateDeleteUser() {
    login();
    // Create a user:
    ResponseEntity<String> response = request("/nacos/v1/auth/users", Params.newParams().appendParam("username", "username1").appendParam("password", "password1").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.POST);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    // Query a user:
    response = request("/nacos/v1/auth/users", Params.newParams().appendParam("pageNo", "1").appendParam("pageSize", String.valueOf(Integer.MAX_VALUE)).appendParam("accessToken", accessToken).done(), String.class);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    Page<User> userPage = JacksonUtils.toObj(response.getBody(), new TypeReference<Page<User>>() {
    });
    Assert.assertNotNull(userPage);
    Assert.assertNotNull(userPage.getPageItems());
    Assert.assertTrue(userPage.getPageItems().size() > 0);
    boolean found = false;
    for (User user : userPage.getPageItems()) {
        if ("username1".equals(user.getUsername()) && PasswordEncoderUtil.matches("password1", user.getPassword())) {
            found = true;
            break;
        }
    }
    Assert.assertTrue(found);
    // Update a user:
    response = request("/nacos/v1/auth/users", Params.newParams().appendParam("username", "username1").appendParam("newPassword", "password2").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.PUT);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    // Query a user:
    response = request("/nacos/v1/auth/users", Params.newParams().appendParam("pageNo", "1").appendParam("pageSize", String.valueOf(Integer.MAX_VALUE)).appendParam("accessToken", accessToken).done(), String.class);
    userPage = JacksonUtils.toObj(response.getBody(), new TypeReference<Page<User>>() {
    });
    Assert.assertNotNull(userPage);
    Assert.assertNotNull(userPage.getPageItems());
    Assert.assertTrue(userPage.getPageItems().size() > 0);
    found = false;
    for (User user : userPage.getPageItems()) {
        if ("username1".equals(user.getUsername()) && PasswordEncoderUtil.matches("password2", user.getPassword())) {
            found = true;
            break;
        }
    }
    Assert.assertTrue(found);
    // Delete a user:
    response = request("/nacos/v1/auth/users", Params.newParams().appendParam("username", "username1").appendParam("accessToken", accessToken).done(), String.class, HttpMethod.DELETE);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    // Query a user:
    response = request("/nacos/v1/auth/users", Params.newParams().appendParam("pageNo", "1").appendParam("pageSize", String.valueOf(Integer.MAX_VALUE)).appendParam("accessToken", accessToken).done(), String.class);
    Assert.assertTrue(response.getStatusCode().is2xxSuccessful());
    userPage = JacksonUtils.toObj(response.getBody(), new TypeReference<Page<User>>() {
    });
    Assert.assertNotNull(userPage);
    Assert.assertNotNull(userPage.getPageItems());
    Assert.assertTrue(userPage.getPageItems().size() > 0);
    found = false;
    for (User user : userPage.getPageItems()) {
        if ("username1".equals(user.getUsername())) {
            found = true;
            break;
        }
    }
    Assert.assertFalse(found);
}
Also used : User(com.alibaba.nacos.plugin.auth.impl.persistence.User) Page(com.alibaba.nacos.config.server.model.Page) TypeReference(com.fasterxml.jackson.core.type.TypeReference) HttpClient4Test(com.alibaba.nacos.test.base.HttpClient4Test) Test(org.junit.Test) SpringBootTest(org.springframework.boot.test.context.SpringBootTest)

Aggregations

Page (com.alibaba.nacos.config.server.model.Page)12 ArrayList (java.util.ArrayList)7 ConfigKey (com.alibaba.nacos.config.server.model.ConfigKey)6 Test (org.junit.Test)6 ConfigInfo (com.alibaba.nacos.config.server.model.ConfigInfo)4 HttpClient4Test (com.alibaba.nacos.test.base.HttpClient4Test)3 TypeReference (com.fasterxml.jackson.core.type.TypeReference)3 List (java.util.List)3 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)3 CannotGetJdbcConnectionException (org.springframework.jdbc.CannotGetJdbcConnectionException)3 MockHttpServletRequestBuilder (org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder)3 ConfigInfoAggr (com.alibaba.nacos.config.server.model.ConfigInfoAggr)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)2 HashMap (java.util.HashMap)2 ArgumentMatchers.anyList (org.mockito.ArgumentMatchers.anyList)2 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)2 ConfigHistoryInfo (com.alibaba.nacos.config.server.model.ConfigHistoryInfo)1 Permission (com.alibaba.nacos.plugin.auth.api.Permission)1 RoleInfo (com.alibaba.nacos.plugin.auth.impl.persistence.RoleInfo)1 User (com.alibaba.nacos.plugin.auth.impl.persistence.User)1