protected void longBootup() throws Exception { this.runner.longBootup(); // Assert state List<MobileObject> beans = this.runner.getDeviceDatabase().readByStorage(this.runner.getService()); assertTrue( "On Device Ticket service should not be empty!!!", (beans != null && !beans.isEmpty())); for (MobileObject currBean : beans) { this.assertBean(currBean, (Ticket) this.ticketConnector.read(currBean.getServerRecordId())); } }
protected void assertBootUpState() throws Exception { // Assert state List<MobileObject> beans = this.runner.getDeviceDatabase().readByStorage(this.runner.getService()); assertTrue( "On Device Ticket service should not be empty!!!", (beans != null && !beans.isEmpty())); int loadedCount = 0; for (MobileObject currBean : beans) { if (!currBean.isProxy()) { loadedCount++; this.assertBean(currBean, (Ticket) this.ticketConnector.read(currBean.getServerRecordId())); } } assertTrue("On Device Ticket service should only have 2 loaded tickets", loadedCount == 2); }
protected void printDeviceBean(MobileObject currBean) { log.info("Local Bean Id=" + currBean.getRecordId()); log.info("Remote Bean Id=" + currBean.getServerRecordId()); log.info("Ticket Id=" + currBean.getValue("ticketId")); log.info("Ticket Name=" + currBean.getValue("name")); log.info("Customer DB Id=" + currBean.getValue("customerInfo.id")); log.info("Customer Id=" + currBean.getValue("customerInfo.customerId")); log.info("Customer Name=" + currBean.getValue("customerInfo.name")); log.info("Customer Comments=" + currBean.getValue("customerInfo.comments")); log.info("Technician Id=" + currBean.getValue("technician.id")); log.info("Employee Id=" + currBean.getValue("technician.employeeId")); log.info("Technician Name=" + currBean.getValue("technician.name")); log.info("Technician Status=" + currBean.getValue("technician.status")); log.info("Equipment ID=" + currBean.getValue("equipment.id")); log.info("Equipment Name=" + currBean.getValue("equipment.name")); // Use better indexing API BeanList notes = IndexingAPIUtil.readList(currBean, "notes"); for (int j = 0; j < notes.size(); j++) { BeanListEntry note = notes.getEntryAt(j); log.info("Note ID=" + note.getProperty("id")); log.info("Note=" + note.getProperty("note")); } // Use better indexing API BeanList parts = IndexingAPIUtil.readList(currBean, "parts"); for (int j = 0; j < parts.size(); j++) { BeanListEntry part = parts.getEntryAt(j); log.info("Part ID=" + part.getProperty("id")); log.info("Part=" + part.getProperty("name")); } log.info("-----------------------------------------"); }
protected void assertBean(MobileObject deviceBean, Ticket serverBean) { // Asserting Object Ids if (!deviceBean.isCreatedOnDevice()) { assertEquals( "Object ids must match!!", deviceBean.getServerRecordId(), serverBean.getTicketId()); } assertEquals("Ticket Names must match!!", deviceBean.getValue("name"), serverBean.getName()); // Asserting Nested Properties if (serverBean.getCustomerInfo() != null) { assertEquals( "Customer Id must match!!", deviceBean.getValue("customerInfo.customerId"), serverBean.getCustomerInfo().getCustomerId()); assertEquals( "Customer Name must match!!", deviceBean.getValue("customerInfo.name"), serverBean.getCustomerInfo().getName()); assertEquals( "Customer Comments must match!!", deviceBean.getValue("customerInfo.comments"), serverBean.getCustomerInfo().getComments()); } if (serverBean.getEquipment() != null) { assertEquals( "Equipment Name must match!!", deviceBean.getValue("equipment.name"), serverBean.getEquipment().getName()); } if (serverBean.getTechnician() != null) { assertEquals( "Technician EmployeeId must match!!", deviceBean.getValue("technician.employeeId"), serverBean.getTechnician().getEmployeeId()); assertEquals( "Technician Name must match!!", deviceBean.getValue("technician.name"), serverBean.getTechnician().getName()); assertEquals( "Technician Status must match!!", deviceBean.getValue("technician.status"), serverBean.getTechnician().getStatus()); } // Asserting Indexed Properties from Server to Device List<Note> notes = serverBean.getNotes(); if (notes != null) { for (Note note : notes) { this.assertNote(deviceBean, note); } } List<Part> parts = serverBean.getParts(); if (parts != null) { for (Part part : parts) { this.assertPart(deviceBean, part); } } // Asserting Indexed Properties from Device to Server BeanList deviceNotes = IndexingAPIUtil.readList(deviceBean, "notes"); for (int i = 0; i < deviceNotes.size(); i++) { if (deviceBean.getValue("notes[" + i + "].note") != null) { this.assertNote(deviceBean, i, notes); } } BeanList deviceParts = IndexingAPIUtil.readList(deviceBean, "parts"); for (int i = 0; i < deviceParts.size(); i++) { if (deviceBean.getValue("parts[" + i + "].name") != null) { this.assertPart(deviceBean, i, parts); } } }