public async Task TestGetHomeDataEventListFirst() { using var netatmoClient = new NetatmoWebClient(new MockHttpMessageHandler() .AddAuthMock() .AddHomeData() .ToMockProvider()); var result = await netatmoClient.GetHomeData(); Assert.Equal("vehicle", result.Homes[0].Events[0].EventList[0].Type); Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1585726685), result.Homes[0].Events[0].EventList[0].Time); Assert.Equal(0, result.Homes[0].Events[0].EventList[0].Offset); Assert.Equal("1234d30c-1234-5678-9012-ff735af0923f", result.Homes[0].Events[0].EventList[0].Id); Assert.Equal("Vehicle detected", result.Homes[0].Events[0].EventList[0].Message); Assert.Equal("123e75a5980d8c6c79ef111a", result.Homes[0].Events[0].EventList[0].Snapshot.Id); Assert.Equal(1, result.Homes[0].Events[0].EventList[0].Snapshot.Version); Assert.Equal("123e75a5980d8c6c79ef111a977f2280e9823d3e5ba00adaa94edbe5ba00e5ba", result.Homes[0].Events[0].EventList[0].Snapshot.Key); Assert.Equal("https://netatmocameraimage.blob.domain.com/path/b178de75e8444df3c9d762bd452bc2d625a44e75a5980d8c6c79ef111a977f2280e9823d3e5ba00adaa94edb", result.Homes[0].Events[0].EventList[0].Snapshot.Url); Assert.Equal(string.Empty, result.Homes[0].Events[0].EventList[0].Snapshot.Filename); Assert.Equal("234e75a5980d8c6c79ef111a", result.Homes[0].Events[0].EventList[0].Vignette.Id); Assert.Equal(1, result.Homes[0].Events[0].EventList[0].Vignette.Version); Assert.Equal("234e75a5980d8c6c79ef111a977f2280e9823d3e5ba00adaa94edbe5ba00e5ba", result.Homes[0].Events[0].EventList[0].Vignette.Key); Assert.Equal("https://netatmocameraimage.blob.domain.com/path/b178de75e8444df3c9d762bd452bc2d625a44e75a5980d8c6c79ef111a977f2280e9823d3e5ba00adaa94edb", result.Homes[0].Events[0].EventList[0].Vignette.Url); Assert.Equal(string.Empty, result.Homes[0].Events[0].EventList[0].Vignette.Filename); }
public async Task TestGetHomeDataUser() { using var netatmoClient = new NetatmoWebClient(new MockHttpMessageHandler() .AddAuthMock() .AddHomeData() .ToMockProvider()); var result = await netatmoClient.GetHomeData(); Assert.Equal("en-US", result.User.RegLocale); Assert.Equal("en", result.User.Lang); Assert.Equal("US", result.User.Country); Assert.Equal("*****@*****.**", result.User.Mail); Assert.True(result.GlobalInfo.ShowTags); }
public async Task TestGetHomeDataHomes() { using var netatmoClient = new NetatmoWebClient(new MockHttpMessageHandler() .AddAuthMock() .AddHomeData() .ToMockProvider()); var result = await netatmoClient.GetHomeData(); Assert.Single(result.Homes); Assert.Equal("1234abcd1234abcd1234abcd", result.Homes[0].Id); Assert.Equal("My Netatmo Home", result.Homes[0].Name); Assert.Equal("Unittest Town", result.Homes[0].Place.City); Assert.Equal("EN", result.Homes[0].Place.Country); Assert.Equal("America/New_York", result.Homes[0].Place.Timezone); }
public async Task TestGetHomeDataEventListSubsequent() { using var netatmoClient = new NetatmoWebClient(new MockHttpMessageHandler() .AddAuthMock() .AddHomeData() .ToMockProvider()); var result = await netatmoClient.GetHomeData(); Assert.Equal("human", result.Homes[0].Events[0].EventList[1].Type); Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1585576470), result.Homes[0].Events[0].EventList[1].Time); Assert.Equal(1, result.Homes[0].Events[0].EventList[1].Offset); Assert.Equal("1234d30c-1234-5678-9012-e5b34ccbd5b3", result.Homes[0].Events[0].EventList[1].Id); Assert.Equal("Person detected", result.Homes[0].Events[0].EventList[1].Message); Assert.Equal("vod/1234d30c-1234-5678-9012-abc35d7a4abc/events/1234d30c-1234-5678-9012-e5b34ccbd5b3/snapshot_1234d30c-1234-5678-9012-e5b34ccbd5b3.jpg", result.Homes[0].Events[0].EventList[1].Snapshot.Filename); Assert.Equal("vod/1234d30c-1234-5678-9012-abc35d7a4abc/events/1234d30c-1234-5678-9012-e5b34ccbd5b3/vignette_1234d30c-1234-5678-9012-e5b34ccbd5b3.jpg", result.Homes[0].Events[0].EventList[1].Vignette.Filename); }
public async Task TestGetHomeDataEventInfo() { using var netatmoClient = new NetatmoWebClient(new MockHttpMessageHandler() .AddAuthMock() .AddHomeData() .ToMockProvider()); var result = await netatmoClient.GetHomeData(); Assert.Single(result.Homes[0].Events); Assert.Equal("1234abcd1234abcd1234abcd", result.Homes[0].Events[0].Id); Assert.Equal("outdoor", result.Homes[0].Events[0].Type); Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1585576467), result.Homes[0].Events[0].Time); Assert.Equal("78:90:ab:cd:ef:01", result.Homes[0].Events[0].CameraId); Assert.Equal("78:90:ab:cd:ef:01", result.Homes[0].Events[0].DeviceId); Assert.Equal("1234d30c-1234-5678-9012-abc35d7a4abc", result.Homes[0].Events[0].VideoId); Assert.Equal("available", result.Homes[0].Events[0].VideoStatus); Assert.NotEmpty(result.Homes[0].Events[0].EventList); }
public async Task TestGetHomeDataCameras() { using var netatmoClient = new NetatmoWebClient(new MockHttpMessageHandler() .AddAuthMock() .AddHomeData() .ToMockProvider()); var result = await netatmoClient.GetHomeData(); Assert.Single(result.Homes[0].Cameras); Assert.Equal("78:90:ab:cd:ef:01", result.Homes[0].Cameras[0].Id); Assert.Equal("NOC", result.Homes[0].Cameras[0].Type); Assert.Equal("on", result.Homes[0].Cameras[0].Status); Assert.Equal("https://prodvpn-eu-123.netatmo.net/restricted/10.0.0.1/abcabc123412341234123412341234ab/MTABCDEFG1234ABCDEF1234BACDEF1234ABCDEF123,,", result.Homes[0].Cameras[0].VpnUrl); Assert.False(result.Homes[0].Cameras[0].IsLocal); Assert.Equal("on", result.Homes[0].Cameras[0].SdStatus); Assert.Equal("on", result.Homes[0].Cameras[0].AlimStatus); Assert.Equal("My Presence", result.Homes[0].Cameras[0].Name); Assert.Equal(DateTimeOffset.FromUnixTimeSeconds(1490468965), result.Homes[0].Cameras[0].LastSetup); Assert.Equal("auto", result.Homes[0].Cameras[0].LightModeStatus); }