public void TestTempValueOORResponse() { SmartHomeResponse responseFromString = JsonConvert.DeserializeObject<SmartHomeResponse>(TEMPVALUE_OOR); //Context check Assert.Null(responseFromString.Context); //Event Check Assert.Equal(typeof(Event), responseFromString.Event.GetType()); Event e = responseFromString.Event as Event; TestFunctionsV3.TestHeaderV3(e.Header, "5f8a426e-01e4-4cc9-8b79-65f8bd0fd8a4", Namespaces.ALEXA, HeaderNames.ERROR_RESPONSE); Assert.Equal("dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==", e.Header.CorrelationToken); //Endpoint TestFunctionsV3.TestEndpointV3(e.Endpoint, "endpoint-001"); TestFunctionsV3.TestBearerTokenV3(e.Endpoint.Scope, "access-token-from-Amazon"); //Payload Assert.Equal(typeof(TemperatureOutOfRangeErrorPayload), responseFromString.GetPayloadType()); TemperatureOutOfRangeErrorPayload p = e.Payload as TemperatureOutOfRangeErrorPayload; Assert.Equal(ErrorTypes.TEMPERATURE_VALUE_OUT_OF_RANGE, p.Type); Assert.Equal("The requested temperature of -15 is out of range", p.Message); Assert.NotNull(p.ValidRange); Assert.NotNull(p.ValidRange.MaximumValue); Assert.Equal(30.0, p.ValidRange.MaximumValue.Value); Assert.Equal(Scale.CELSIUS, p.ValidRange.MaximumValue.Scale); Assert.NotNull(p.ValidRange.MinimumValue); Assert.Equal(15.0, p.ValidRange.MinimumValue.Value); Assert.Equal(Scale.CELSIUS, p.ValidRange.MinimumValue.Scale); }
public void ResponseCreation_TemperatureOOR_Test() { SmartHomeRequest request = JsonConvert.DeserializeObject <SmartHomeRequest>(SET_T_TEMPERATURE_TRIPLEMODE_REQUEST); SmartHomeResponse response = SmartHomeResponse.CreateErrorResponse(request.Directive.Header, ErrorTypes.TEMPERATURE_VALUE_OUT_OF_RANGE); Assert.Null(response.Context); Assert.NotNull(response.Event); Assert.Equal(typeof(Event), response.Event.GetType()); Event e = response.Event as Event; TestFunctionsV3.CheckResponseCreatedBaseHeader(e.Header, request.Directive.Header, Namespaces.ALEXA_THERMOSTATCONTROLLER, HeaderNames.ERROR_RESPONSE); Assert.Null(e.Endpoint); e.Endpoint = new Endpoint("endpoint-001", new NET.JsonObjects.Scopes.BearerToken("access-token-from-Amazon")); Assert.NotNull(e.Payload); Assert.Equal(typeof(TemperatureOutOfRangeErrorPayload), response.GetPayloadType()); TemperatureOutOfRangeErrorPayload p = response.Event.Payload as TemperatureOutOfRangeErrorPayload; Assert.Equal(ErrorTypes.TEMPERATURE_VALUE_OUT_OF_RANGE, p.Type); Assert.Null(p.Message); Assert.Throws <JsonSerializationException>(() => JsonConvert.SerializeObject(response)); p.Message = "The requested temperature of -15 is out of range"; Assert.Null(p.ValidRange); p.ValidRange = new TemperatureValidRange(new Setpoint(15.0, Scale.CELSIUS), new Setpoint(20.0, Scale.CELSIUS)); Assert.NotNull(JsonConvert.SerializeObject(response)); Util.Util.WriteJsonToConsole("TemperatureOOR", response); }