package io.lumify.it; import io.lumify.web.clientapi.LumifyApi; import io.lumify.web.clientapi.codegen.ApiException; import io.lumify.web.clientapi.model.ClientApiUser; import io.lumify.web.clientapi.model.ClientApiUsers; import org.junit.Test; import java.io.IOException; import java.util.ArrayList; import java.util.List; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; public class UserIntegrationTest extends TestBase { private String user1Id; private String user2Id; @Test public void testUsers() throws IOException, ApiException { createUsers(); verifyGetAll(); verifyGetByIds(); verifyGetByUserName(); } public void createUsers() throws ApiException { LumifyApi lumifyApi = login(USERNAME_TEST_USER_1); user1Id = lumifyApi.getUserApi().getMe().getId(); lumifyApi.logout(); lumifyApi = login(USERNAME_TEST_USER_2); user2Id = lumifyApi.getUserApi().getMe().getId(); lumifyApi.logout(); } private void verifyGetAll() throws ApiException { LumifyApi lumifyApi = login(USERNAME_TEST_USER_1); ClientApiUsers users = lumifyApi.getUserApi().getAll(); assertEquals(2, users.getUsers().size()); boolean foundUser1 = false; boolean foundUser2 = false; for (ClientApiUser user : users.getUsers()) { if (user.getUserName().equalsIgnoreCase(USERNAME_TEST_USER_1)) { foundUser1 = true; } else if (user.getUserName().equalsIgnoreCase(USERNAME_TEST_USER_2)) { foundUser2 = true; } else { throw new RuntimeException("Invalid user: " + user); } } assertTrue("Could not find " + USERNAME_TEST_USER_1, foundUser1); assertTrue("Could not find " + USERNAME_TEST_USER_2, foundUser2); lumifyApi.logout(); } private void verifyGetByIds() throws ApiException { LumifyApi lumifyApi = login(USERNAME_TEST_USER_1); List<String> ids = new ArrayList<>(); ids.add(user1Id); ids.add(user2Id); ClientApiUsers users = lumifyApi.getUserApi().getManyByIds(ids); assertEquals(2, users.getUsers().size()); boolean foundUser1 = false; boolean foundUser2 = false; for (ClientApiUser user : users.getUsers()) { if (user.getUserName().equalsIgnoreCase(USERNAME_TEST_USER_1)) { foundUser1 = true; } else if (user.getUserName().equalsIgnoreCase(USERNAME_TEST_USER_2)) { foundUser2 = true; } else { throw new RuntimeException("Invalid user: " + user); } } assertTrue("Could not find " + USERNAME_TEST_USER_1, foundUser1); assertTrue("Could not find " + USERNAME_TEST_USER_2, foundUser2); lumifyApi.logout(); } private void verifyGetByUserName() throws ApiException { LumifyApi lumifyApi = login(USERNAME_TEST_USER_1); ClientApiUser user = lumifyApi.getUserApi().getByUserName(USERNAME_TEST_USER_1); assertEquals(user1Id, user.getId()); assertEquals(1, user.getWorkspaces().size()); lumifyApi.logout(); } }