@Test public void testUserProfileToJson() { InputStream is = this.getClass().getResourceAsStream("/json_test/user_profile_json.txt"); Profile profile = JsonParser.parseProfile(is); String userProfileString = profile.toString(); assertNotNull(userProfileString); assertTrue(userProfileString.contains("dashBoards")); }
@Test public void loadGzippedProfile() throws Exception { String expected = readTestUserProfile(); clientPair.appClient.send("loadProfileGzipped"); verify(clientPair.appClient.responseMock, timeout(500)).channelRead(any(), any()); Profile profile = JsonParser.parseProfile(clientPair.appClient.getBody(), 1); profile.dashBoards[0].updatedAt = 0; assertEquals(expected, profile.toString()); }
@Test public void testUserProfileToJsonWithTimer() { InputStream is = this.getClass().getResourceAsStream("/json_test/user_profile_with_timer.txt"); Profile profile = JsonParser.parseProfile(is); String userProfileString = profile.toString(); assertNotNull(userProfileString); assertTrue(userProfileString.contains("dashBoards")); List<Timer> timers = getActiveTimerWidgets(profile); assertNotNull(timers); assertEquals(1, timers.size()); }
@Test public void createBasicProfile() throws Exception { TestAppClient appClient = new TestAppClient("localhost", tcpAppPort, properties); appClient.start(); appClient.send("register [email protected] 1"); verify(appClient.responseMock, timeout(500)).channelRead(any(), eq(new ResponseMessage(1, OK))); appClient.send("login [email protected] 1 Android RC13"); verify(appClient.responseMock, timeout(500)).channelRead(any(), eq(new ResponseMessage(2, OK))); appClient.send("createDash {\"id\":1, \"name\":\"test board\"}\""); verify(appClient.responseMock, timeout(500)).channelRead(any(), eq(new ResponseMessage(3, OK))); appClient.send( "createWidget 1\0{\"id\":1, \"x\":0, \"y\":0, \"label\":\"Some Text\", \"type\":\"BUTTON\", \"pinType\":\"DIGITAL\", \"pin\":1}"); verify(appClient.responseMock, timeout(500)).channelRead(any(), eq(new ResponseMessage(4, OK))); appClient.reset(); appClient.send("loadProfileGzipped"); Profile profile = JsonParser.parseProfile(appClient.getBody(), 1); profile.dashBoards[0].updatedAt = 0; assertEquals( "{\"dashBoards\":[{\"id\":1,\"name\":\"test board\",\"createdAt\":0,\"updatedAt\":0,\"widgets\":[{\"type\":\"BUTTON\",\"id\":1,\"x\":0,\"y\":0,\"label\":\"Some Text\",\"pinType\":\"DIGITAL\",\"pin\":1,\"pwmMode\":false,\"rangeMappingOn\":false,\"min\":0,\"max\":0,\"pushMode\":false}],\"keepScreenOn\":false,\"isShared\":false,\"isActive\":false}]}", profile.toString()); appClient.send("createWidget 1\0{\"id\":1,\"type\":\"BUTTON\"}"); verify(appClient.responseMock, timeout(500)) .channelRead(any(), eq(new ResponseMessage(2, NOT_ALLOWED))); appClient.send( "createWidget 1\0{\"id\":2, \"x\":2, \"y\":2, \"label\":\"Some Text 2\", \"type\":\"BUTTON\", \"pinType\":\"DIGITAL\", \"pin\":2}"); verify(appClient.responseMock, timeout(500)).channelRead(any(), eq(new ResponseMessage(3, OK))); appClient.reset(); appClient.send("loadProfileGzipped"); profile = JsonParser.parseProfile(appClient.getBody(), 1); profile.dashBoards[0].updatedAt = 0; assertEquals( "{\"dashBoards\":[{\"id\":1,\"name\":\"test board\",\"createdAt\":0,\"updatedAt\":0,\"widgets\":[{\"type\":\"BUTTON\",\"id\":1,\"x\":0,\"y\":0,\"label\":\"Some Text\",\"pinType\":\"DIGITAL\",\"pin\":1,\"pwmMode\":false,\"rangeMappingOn\":false,\"min\":0,\"max\":0,\"pushMode\":false},{\"type\":\"BUTTON\",\"id\":2,\"x\":2,\"y\":2,\"label\":\"Some Text 2\",\"pinType\":\"DIGITAL\",\"pin\":2,\"pwmMode\":false,\"rangeMappingOn\":false,\"min\":0,\"max\":0,\"pushMode\":false}],\"keepScreenOn\":false,\"isShared\":false,\"isActive\":false}]}", profile.toString()); appClient.send( "updateWidget 1\0{\"id\":2, \"x\":2, \"y\":2, \"label\":\"new label\", \"type\":\"BUTTON\", \"pinType\":\"DIGITAL\", \"pin\":3}\""); verify(appClient.responseMock, timeout(500)).channelRead(any(), eq(new ResponseMessage(2, OK))); appClient.reset(); appClient.send("loadProfileGzipped"); profile = JsonParser.parseProfile(appClient.getBody(), 1); profile.dashBoards[0].updatedAt = 0; assertEquals( "{\"dashBoards\":[{\"id\":1,\"name\":\"test board\",\"createdAt\":0,\"updatedAt\":0,\"widgets\":[{\"type\":\"BUTTON\",\"id\":1,\"x\":0,\"y\":0,\"label\":\"Some Text\",\"pinType\":\"DIGITAL\",\"pin\":1,\"pwmMode\":false,\"rangeMappingOn\":false,\"min\":0,\"max\":0,\"pushMode\":false},{\"type\":\"BUTTON\",\"id\":2,\"x\":2,\"y\":2,\"label\":\"new label\",\"pinType\":\"DIGITAL\",\"pin\":3,\"pwmMode\":false,\"rangeMappingOn\":false,\"min\":0,\"max\":0,\"pushMode\":false}],\"keepScreenOn\":false,\"isShared\":false,\"isActive\":false}]}", profile.toString()); appClient.send("deleteWidget 1\0" + "3"); verify(appClient.responseMock, timeout(500)) .channelRead(any(), eq(new ResponseMessage(2, ILLEGAL_COMMAND))); appClient.send("deleteWidget 1\0" + "1"); verify(appClient.responseMock, timeout(500)).channelRead(any(), eq(new ResponseMessage(3, OK))); appClient.send("deleteWidget 1\0" + "2"); verify(appClient.responseMock, timeout(500)).channelRead(any(), eq(new ResponseMessage(4, OK))); appClient.reset(); appClient.send("loadProfileGzipped"); profile = JsonParser.parseProfile(appClient.getBody(), 1); profile.dashBoards[0].updatedAt = 0; assertEquals( "{\"dashBoards\":[{\"id\":1,\"name\":\"test board\",\"createdAt\":0,\"updatedAt\":0,\"keepScreenOn\":false,\"isShared\":false,\"isActive\":false}]}", profile.toString()); }