From 4fed73d96f305fdf6e1491d6937a5b59dbba0c25 Mon Sep 17 00:00:00 2001 From: Luke <lomah001@gold.ac.uk> Date: Mon, 22 Apr 2019 12:04:06 +0100 Subject: [PATCH] add: added some integration tests for aws sns and shadow services --- .../com/backend/glowhouse/aws/SnsTest.java | 21 +++++++++ .../glowhouse/aws/TestDeviceShadowApi.java | 45 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 src/test/java/com/backend/glowhouse/aws/SnsTest.java create mode 100644 src/test/java/com/backend/glowhouse/aws/TestDeviceShadowApi.java diff --git a/src/test/java/com/backend/glowhouse/aws/SnsTest.java b/src/test/java/com/backend/glowhouse/aws/SnsTest.java new file mode 100644 index 0000000..8a96ca4 --- /dev/null +++ b/src/test/java/com/backend/glowhouse/aws/SnsTest.java @@ -0,0 +1,21 @@ +package com.backend.glowhouse.aws; + +import com.backend.glowhouse.aws.sns.SnsNotificationSender; +import com.backend.glowhouse.GlowhouseApplication; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = {GlowhouseApplication.class, SnsNotificationSender.class}) +public class SnsTest { + @Autowired + SnsNotificationSender snsNotificationSender; + + @Test + public void testSendToAwsSns() { + snsNotificationSender.sendIOCommandForLight("light", "ON"); + } +} diff --git a/src/test/java/com/backend/glowhouse/aws/TestDeviceShadowApi.java b/src/test/java/com/backend/glowhouse/aws/TestDeviceShadowApi.java new file mode 100644 index 0000000..a34f792 --- /dev/null +++ b/src/test/java/com/backend/glowhouse/aws/TestDeviceShadowApi.java @@ -0,0 +1,45 @@ +package com.backend.glowhouse.aws; + +import com.amazonaws.services.iot.client.AWSIotException; +import com.backend.glowhouse.GlowhouseApplication; +import com.backend.glowhouse.controller.DeviceShadowController; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes = {GlowhouseApplication.class, DeviceShadowController.class}) +public class TestDeviceShadowApi { + @Autowired + DeviceShadowController deviceShadowController; + + @Test + public void testUpdateShadow() { + //given a message payload for aws + String jsonUpdate = "{\n" + + " \"state\": {\n" + + " \"desired\" : {\n" + + " \"lights\" : \"ON\"\n" + + " }\n" + + " }\n" + + "}"; + + //and a service that exposes aws topics + deviceShadowController.updateShadow(jsonUpdate); + + //TODO: add subback to test here, for now check you see a message on aws + Assert.assertEquals(1, 1); + } + + @Test + public void testGetShadow() throws AWSIotException { + //given a request to aws for a devices shadow + String shadow = deviceShadowController.getDeviceShadow("glowhouse"); + + //TODO: assert here that shadow is as expected + Assert.assertEquals(1, 1); + } +} -- GitLab