use of org.wso2.carbon.automation.test.utils.http.client.HttpResponse in project product-iots by wso2.
the class AndroidOperation method testReboot.
@Test(groups = { Constants.AndroidOperations.OPERATIONS_GROUP }, description = "Test Android reboot operation")
public void testReboot() throws Exception {
HttpResponse response = client.post(Constants.AndroidOperations.OPERATION_ENDPOINT + Constants.AndroidOperations.REBOOT_ENDPOINT, Constants.AndroidOperations.PAYLOAD_COMMON);
Assert.assertEquals(HttpStatus.SC_CREATED, response.getResponseCode());
}
use of org.wso2.carbon.automation.test.utils.http.client.HttpResponse in project product-iots by wso2.
the class DeviceTypeManagementJMeterTestCase method testMqttFlow.
@Test(description = "Test whether the policy publishing from the server to device works", dependsOnMethods = { "DeviceTypeManagementTest" })
public void testMqttFlow() throws Exception {
String deviceId = "123422578912";
String deviceType = "firealarmmqtt";
String payload = "{\"deviceIdentifiers\":[123422578912],\"operation\":{\"code\":\"ring\",\"type\":\"CONFIG\"," + "\"payLoad\":\"volume:30%\"}}";
String topic = automationContext.getContextTenant().getDomain() + "/" + deviceType + "/" + deviceId + "/operation/#";
String clientId = deviceId + ":firealarmmqtt";
MqttSubscriberClient mqttDeviceSubscriberClient = new MqttSubscriberClient(broker, clientId, topic, accessToken);
restClient.post("/api/device-mgt/v1.0/devices/" + deviceType + "/operations", payload);
// Allow some time for message delivery
Thread.sleep(10000);
ArrayList<MqttMessage> mqttMessages = mqttDeviceSubscriberClient.getMqttMessages();
Assert.assertEquals("listener did not recieve mqtt messages ", 1, mqttMessages.size());
String topicPub = automationContext.getContextTenant().getDomain() + "/" + deviceType + "/" + deviceId + "/events";
int qos = 2;
String clientIdPub = deviceId + ":firealarmmqttpub";
MemoryPersistence persistence = new MemoryPersistence();
MqttClient sampleClient = new MqttClient(broker, clientIdPub, persistence);
MqttConnectOptions connOpts = new MqttConnectOptions();
connOpts.setUserName(accessToken);
connOpts.setPassword("".toCharArray());
connOpts.setKeepAliveInterval(120);
connOpts.setCleanSession(false);
log.info("Connecting to broker: " + broker);
sampleClient.connect(connOpts);
log.info("Connected");
for (int i = 0; i < 100; i++) {
payload = "{\"temperature\":%d,\"status\":\"workingh\",\"humidity\":20}";
MqttMessage message = new MqttMessage(String.format(payload, i).getBytes());
message.setQos(qos);
sampleClient.publish(topicPub, message);
log.info("Message is published to Mqtt Client");
Thread.sleep(1000);
}
sampleClient.disconnect();
log.info("Mqtt Client is Disconnected");
// Allow some time for message delivery
HttpResponse response = restClient.get("/api/device-mgt/v1.0/events/last-known/" + deviceType + "/" + deviceId);
Assert.assertEquals("No published event found (mqtt)", HttpStatus.SC_OK, response.getResponseCode());
log.error(response.getData());
JsonElement jsonElement = new JsonParser().parse(response.getData()).getAsJsonObject().get("count");
int count = jsonElement.getAsInt();
Assert.assertTrue("Event count does not match published event count, " + response.getData(), count > 0);
}
use of org.wso2.carbon.automation.test.utils.http.client.HttpResponse in project product-iots by wso2.
the class AndroidConfigurationManagement method testGetConfiguration.
@Test(description = "Test get android configuration.", dependsOnMethods = { "testModifyConfiguration" })
public void testGetConfiguration() throws Exception {
HttpResponse response = client.get(Constants.AndroidConfigurationManagement.CONFIG_MGT_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getResponseCode());
AssertUtil.jsonPayloadCompare(PayloadGenerator.getJsonPayload(Constants.AndroidConfigurationManagement.PAYLOAD_FILE_NAME, Constants.HTTP_METHOD_PUT).toString(), response.getData(), true);
}
use of org.wso2.carbon.automation.test.utils.http.client.HttpResponse in project product-iots by wso2.
the class AndroidConfigurationManagement method testModifyConfiguration.
@Test(description = "Test update android configuration.")
public void testModifyConfiguration() throws Exception {
HttpResponse response = client.put(Constants.AndroidConfigurationManagement.CONFIG_MGT_ENDPOINT, PayloadGenerator.getJsonPayload(Constants.AndroidConfigurationManagement.PAYLOAD_FILE_NAME, Constants.HTTP_METHOD_PUT).toString());
Assert.assertEquals(HttpStatus.SC_OK, response.getResponseCode());
Assert.assertEquals("Android configuration update message is not received properly", "Android platform " + "configuration has been updated successfully.", response.getData().replaceAll("\"", ""));
}
use of org.wso2.carbon.automation.test.utils.http.client.HttpResponse in project product-iots by wso2.
the class AndroidConfigurationManagement method testGetLicense.
@Test(description = "Test get android license.", dependsOnMethods = { "testModifyConfiguration" })
public void testGetLicense() throws Exception {
HttpResponse response = client.get(Constants.AndroidConfigurationManagement.CONFIG_MGT_ENDPOINT + Constants.AndroidConfigurationManagement.LICENSE_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getResponseCode());
Assert.assertEquals("Expected android license agreement is not received", "This End User License Agreement is " + "Eula.", response.getData());
}
Aggregations