package io.evercam; import org.json.JSONException; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; import static junit.framework.Assert.*; public class UserTest { @BeforeClass public static void setUpClass() { API.URL = TestURL.URL; } @Rule public ExpectedException exception = ExpectedException.none(); @Test public void testCreateAndDeleteUser() throws EvercamException, JSONException { RandomUser randomUser = new RandomUser(); assertEquals(randomUser.getUsername(), randomUser.getUser().getUsername()); assertEquals(randomUser.getEmail(), randomUser.getUser().getEmail()); ApiKeyPair apiKeyPair = API.requestUserKeyPairFromEvercam(randomUser.getUsername(), randomUser.getPassword()); assertNotNull(apiKeyPair.getApiId()); assertNotNull(apiKeyPair.getApiKey()); //Delete the random user API.setUserKeyPair(apiKeyPair.getApiKey(), apiKeyPair.getApiId()); assertTrue(User.delete(randomUser.getUsername())); API.setUserKeyPair(null, null); } @Test public void testGetUserAndUserDetails() throws EvercamException { RandomUser randomUser = new RandomUser(); ApiKeyPair apiKeyPair = API.requestUserKeyPairFromEvercam(randomUser.getUsername(), randomUser.getPassword()); API.setUserKeyPair(apiKeyPair.getApiKey(), apiKeyPair.getApiId()); User user = new User(randomUser.getUsername()); assertEquals(RandomUser.FIRST_NAME, user.getFirstName()); assertEquals(RandomUser.LAST_NAME, user.getLastName()); assertEquals(randomUser.getEmail(), user.getEmail()); assertEquals(randomUser.getUsername(), user.getId()); assertEquals(randomUser.getUsername(), user.getUsername()); assertEquals(RandomUser.COUNTRY_CODE, user.getCountry()); API.setUserKeyPair(null, null); } @Test public void testGetUserAndUserDetailsByEmail() throws EvercamException { RandomUser randomUser = new RandomUser(); ApiKeyPair apiKeyPair = API.requestUserKeyPairFromEvercam(randomUser.getEmail(), randomUser.getPassword()); API.setUserKeyPair(apiKeyPair.getApiKey(), apiKeyPair.getApiId()); User user = new User(randomUser.getEmail()); assertEquals(RandomUser.FIRST_NAME, user.getFirstName()); assertEquals(RandomUser.LAST_NAME, user.getLastName()); assertEquals(randomUser.getEmail(), user.getEmail()); assertEquals(randomUser.getUsername(), user.getId()); assertEquals(randomUser.getUsername(), user.getUsername()); assertEquals(RandomUser.COUNTRY_CODE, user.getCountry()); API.setUserKeyPair(null, null); } @Test public void testMissingUserDetail() throws EvercamException { UserDetail detail = new UserDetail(); exception.expect(EvercamException.class); User.create(detail); } @AfterClass public static void destroyClass() { } }