Date lastPublishedMessageTimestamp = null; if (messageList.getSize() == 1) { lastPublishedMessageId = messageList.getFirstItem().getDatastoreId(); lastPublishedMessageTimestamp = messageList.getFirstItem().getTimestamp(); } else if (messageList.isEmpty()) {
Date lastPublishedMessageTimestamp = null; if (messageList.getSize() == 1) { lastPublishedMessageId = messageList.getFirstItem().getDatastoreId(); lastPublishedMessageTimestamp = messageList.getFirstItem().getTimestamp(); } else if (messageList.isEmpty()) {
Date lastPublishedMessageTimestamp = null; if (messageList.getSize() == 1) { lastPublishedMessageId = messageList.getFirstItem().getDatastoreId(); lastPublishedMessageTimestamp = messageList.getFirstItem().getTimestamp(); } else if (messageList.isEmpty()) {
@Then("I expect the latest captured message on channel \"(.*)\" to have the metrics") public void testMessageData(final String topic, final List<MetricEntry> expectedMetrics) throws Exception { final MessageStoreService service = KapuaLocator.getInstance().getService(MessageStoreService.class); session.withLogin(() -> { With.withUserAccount(currentDevice.getAccountName(), account -> { // start a new query final MessageQueryImpl query = new MessageQueryImpl(account.getId()); // query for client and channel final AndPredicateImpl and = new AndPredicateImpl(); and.getPredicates().add(new TermPredicateImpl(MessageField.CLIENT_ID, currentDevice.getClientId())); and.getPredicates().add(new TermPredicateImpl(MessageField.CHANNEL, topic)); query.setPredicate(and); // sort by captured time query.setSortFields(Arrays.asList(SortField.descending(MessageField.CAPTURED_ON.field()))); // perform the query final MessageListResult result = service.query(query); Assert.assertEquals(1, result.getSize()); // get the first item final DatastoreMessage message = result.getFirstItem(); Assert.assertEquals(currentDevice.getClientId(), message.getClientId()); // get payload structure final KapuaPayload payload = message.getPayload(); // assert metrics data final Map<String, Object> properties = payload.getMetrics(); Assert.assertEquals(toData(expectedMetrics), properties); }); }); }