示例#1
0
        public async Task TestAuthSerialization()
        {
            var auth = new WeConnectAuth("*****@*****.**", "secretpassword");

            var client = new WeConnectPortalClient(new MockCookieHttpMessageHandler()
                                                   .AddAuthMock()
                                                   .AddEmanager()
                                                   .ToMockProvider(auth));

            await client.GetEManager();

            Assert.Equal(ExpectedSessionToken, auth.AccessToken);
        }
示例#2
0
        public async Task TestAuthDeserialization()
        {
            // explicitly not providing any credentials
            var auth = new WeConnectAuth(string.Empty, string.Empty);

            // emulate that the session was persisted and is now restored.
            // this should give us access without a username and password
            await auth.UpdateTokenAsync(ExpectedSessionToken, DateTime.MinValue, null);

            var mockedHandler = new MockCookieHttpMessageHandler();
            var client        = new WeConnectPortalClient(mockedHandler
                                                          .AddAuthMock(out MockedRequest mockedRequest)
                                                          .AddEmanager()
                                                          .ToMockProvider(auth));

            var result = await client.GetEManager();

            // assert we could load data successfully
            Assert.Equal("AVAILABLE", result.Rbc.Status?.ExtPowerSupplyState);

            // assert that no new authentication was needed to be called
            Assert.Equal(0, mockedHandler.GetMatchCount(mockedRequest));
        }