package digitalwallet; import com.urbanairship.digitalwallet.client.Project; import java.util.List; public class ProjectTest extends BaseIntegrationTest { @org.testng.annotations.Test public void testGetProjectList() { if (!integrationTesting) { return; } boolean done = false; int page = 0; while (!done) { List<Project> projects = Project.getProjects(pageSize, page); if (projects != null && projects.size() > 0 && page < maxPages) { page++; for (Project project : projects) { Project p2 = Project.getProject(project.getId()); assertEquals(project, p2); } } else { done = true; } } } @org.testng.annotations.Test public void testCreateProject() { if (!integrationTesting) { return; } String name = TestHelper.randomName(); String description = TestHelper.randomDescription(); String projectType = "coupon"; Project createdProject = Project.createProject(name, description, projectType); assert createdProject != null; assertEquals(createdProject.getId(), name, description, projectType, createdProject); Long projectId = createdProject.getId(); Project project = Project.getProject(createdProject.getId()); assertEquals(projectId, name, description, projectType, project); Project.deleteProject(projectId); try { Project.getProject(projectId); assert false; /* should have thrown a 404 */ } catch (Exception e) { } } @org.testng.annotations.Test public void testCreateProjectX() { if (!integrationTesting) { return; } String externalId = TestHelper.randomString("external-"); String name = TestHelper.randomName(); String description = TestHelper.randomDescription(); String projectType = "coupon"; Project createdProject = Project.createProject(externalId, name, description, projectType); assert createdProject != null; Long projectId = createdProject.getId(); assertEquals(projectId, name, description, projectType, createdProject); Project project = Project.getProject(createdProject.getId()); assertEquals(projectId, name, description, projectType, project); project = Project.getProject(externalId); assertEquals(projectId, name, description, projectType, project); Project.deleteProject(externalId); try { Project.getProject(externalId); assert false; /* should have thrown a 404 */ } catch (Exception e) { } try { Project.getProject(projectId); assert false; /* should have thrown a 404 */ } catch (Exception e) { } } @org.testng.annotations.Test public void testUpdateProject() { if (!integrationTesting) { return; } String name = TestHelper.randomName(); String description = TestHelper.randomDescription(); String projectType = "coupon"; Project createdProject = Project.createProject(name, description, projectType); assert createdProject != null; assertEquals(createdProject.getId(), name, description, projectType, createdProject); Long projectId = createdProject.getId(); Project project = Project.getProject(createdProject.getId()); assertEquals(projectId, name, description, projectType, project); name = TestHelper.randomName(); description = TestHelper.randomDescription(); Project.updateProject(projectId, name, description); project = Project.getProject(createdProject.getId()); assertEquals(projectId, name, description, projectType, project); Project.deleteProject(projectId); try { Project.getProject(projectId); assert false; /* should have thrown a 404 */ } catch (Exception e) { } } @org.testng.annotations.Test public void testUpdateProjectX() { if (!integrationTesting) { return; } String externalId = TestHelper.randomString("external-"); String name = TestHelper.randomName(); String description = TestHelper.randomDescription(); String projectType = "coupon"; Project createdProject = Project.createProject(externalId, name, description, projectType); assert createdProject != null; Long projectId = createdProject.getId(); assertEquals(projectId, name, description, projectType, createdProject); Project project = Project.getProject(createdProject.getId()); assertEquals(projectId, name, description, projectType, project); project = Project.getProject(externalId); assertEquals(projectId, name, description, projectType, project); name = TestHelper.randomName(); description = TestHelper.randomDescription(); Project.updateProject(externalId, name, description); project = Project.getProject(externalId); assertEquals(projectId, name, description, projectType, project); Project.deleteProject(externalId); try { Project.getProject(externalId); assert false; /* should have thrown a 404 */ } catch (Exception e) { } try { Project.getProject(projectId); assert false; /* should have thrown a 404 */ } catch (Exception e) { } } private void assertEquals(Project p1, Project p2) { assert p1 != null; assert p2 != null; assert p1.getDescription().equals(p2.getDescription()); assert p1.getId().equals(p2.getId()); assert p1.getName().equals(p2.getName()); assert p1.getProjectType().equals(p2.getProjectType()); } private void assertEquals(Long projectId, String name, String description, String projectType, Project project) { assert description.equals(project.getDescription()); assert name.equals(project.getName()); assert projectType.equals(project.getProjectType()); assert projectId.equals(project.getId()); } }