Ejemplo n.º 1
0
        private static IEnumerable <TogglEntry> GetEntries(TogglEntry[] inputEntries, DateTime from, DateTime to)
        {
            Dictionary <string, string> headers = new Dictionary <string, string> {
                { "Set-Cookie", ValidFakeCookie }
            };
            MockHttpDataSource       source       = new MockHttpDataSource();
            TogglClient              client       = new TogglClient(FakeToken, source);
            ToggleClientStatusKeeper statusKeeper = new ToggleClientStatusKeeper(client);

            source.SetResponse(SessionUrl, "POST", new MockHttpResponse <TogglEntry[]>()
            {
                FakeHeaders = headers
            });

            client.LogIn();

            Assert.IsTrue(statusKeeper.IsLoggedIn);

            source.SetResponse(client.GetFormattedEntriesUrl(from, to), "GET", new MockHttpResponse <TogglEntry[]>()
            {
                FakeStatusCode     = HttpStatusCode.OK,
                FakeResponseObject = inputEntries
            });

            return(client.GetEntries(from, to));
        }
Ejemplo n.º 2
0
        public void Logout_OKResponseLogoutSucceed()
        {
            ToggleClientStatusKeeper statusKeeper = LogInLogOutWithStatus(HttpStatusCode.OK);

            Assert.IsFalse(statusKeeper.IsLoggedIn);
            Assert.IsTrue(statusKeeper.LogoutSucceeded);
            Assert.IsFalse(statusKeeper.LogoutFailed);
        }
Ejemplo n.º 3
0
        public void Login_EmptySetCookieHeaderLoginFail()
        {
            Dictionary <string, string> headers = new Dictionary <string, string> {
                { "Set-Cookie", string.Empty }
            };
            ToggleClientStatusKeeper statusKeeper = LoginWithHeaders(headers);

            Assert.IsTrue(statusKeeper.LogonFailed);
        }
Ejemplo n.º 4
0
        public void Logout_ForbiddenResponseLogoutFails()
        {
            ToggleClientStatusKeeper statusKeeper = LogInLogOutWithStatus(HttpStatusCode.Forbidden);

            Assert.True(statusKeeper.IsLoggedIn);
            Assert.IsFalse(statusKeeper.LogoutSucceeded);
            Assert.IsTrue(statusKeeper.LogoutFailed);
            Assert.IsTrue(statusKeeper.EncounteredError);
        }
Ejemplo n.º 5
0
        public void Login_EmptyAuthCookieLoginFail()
        {
            Dictionary <string, string> headers = new Dictionary <string, string>
            {
                { "Set-Cookie", CookieName + "=;Path=/;" }
            };
            ToggleClientStatusKeeper statusKeeper = LoginWithHeaders(headers);

            Assert.IsTrue(statusKeeper.LogonFailed);
        }
Ejemplo n.º 6
0
        public void Login_InvalidSetCookieHeaderLoginFail()
        {
            Dictionary <string, string> headers = new Dictionary <string, string>
            {
                { CookieName, "This Is not a valid header" }
            };
            ToggleClientStatusKeeper statusKeeper = LoginWithHeaders(headers);

            Assert.IsTrue(statusKeeper.LogonFailed);
        }
Ejemplo n.º 7
0
        public void Logout_LogoutWhenNotLoggedInDoesNothing()
        {
            TogglClient client = new TogglClient(FakeToken);
            ToggleClientStatusKeeper statusKeeper = new ToggleClientStatusKeeper(client);

            client.LogOut();

            Assert.IsFalse(statusKeeper.IsLoggedIn);
            Assert.IsFalse(statusKeeper.LogoutFailed);
            Assert.IsFalse(statusKeeper.LogoutSucceeded);
        }
Ejemplo n.º 8
0
        public void Login_ValidCookieHeaderLoginSuccess()
        {
            Dictionary <string, string> headers = new Dictionary <string, string>
            {
                { "Set-Cookie", CookieName + "=secret_value;Path=/;" }
            };
            ToggleClientStatusKeeper statusKeeper = LoginWithHeaders(headers);

            Assert.IsFalse(statusKeeper.LogonFailed);
            Assert.IsTrue(statusKeeper.IsLoggedIn);
            Assert.IsTrue(statusKeeper.LogonSucceeded);
        }
Ejemplo n.º 9
0
        private static ToggleClientStatusKeeper LoginWithHeaders(Dictionary <string, string> headers)
        {
            IHttpResponse response = new MockHttpResponse <TogglEntry[]>()
            {
                FakeHeaders = headers
            };
            MockHttpDataSource       source       = new MockHttpDataSource();
            TogglClient              client       = new TogglClient(FakeToken, source);
            ToggleClientStatusKeeper statusKeeper = new ToggleClientStatusKeeper(client);

            source.SetResponse(SessionUrl, "POST", response);
            client.LogIn();
            return(statusKeeper);
        }
Ejemplo n.º 10
0
        private static MockHttpDataSource GetLoggedInClient(out TogglClient client, out ToggleClientStatusKeeper statusKeeper)
        {
            Dictionary <string, string> headers = new Dictionary <string, string> {
                { "Set-Cookie", ValidFakeCookie }
            };
            MockHttpDataSource source = new MockHttpDataSource();

            client       = new TogglClient(FakeToken, source);
            statusKeeper = new ToggleClientStatusKeeper(client);

            source.SetResponse(SessionUrl, "POST", new MockHttpResponse <TogglEntry[]>()
            {
                FakeHeaders = headers
            });

            client.LogIn();

            Assert.IsTrue(statusKeeper.IsLoggedIn);
            return(source);
        }
Ejemplo n.º 11
0
        private static ToggleClientStatusKeeper LogInLogOutWithStatus(HttpStatusCode statusCode)
        {
            Dictionary <string, string> headers = new Dictionary <string, string> {
                { "Set-Cookie", ValidFakeCookie }
            };
            MockHttpDataSource       source       = new MockHttpDataSource();
            TogglClient              client       = new TogglClient(FakeToken, source);
            ToggleClientStatusKeeper statusKeeper = new ToggleClientStatusKeeper(client);

            source.SetResponse(SessionUrl, "POST", new MockHttpResponse <TogglEntry[]>()
            {
                FakeHeaders = headers
            });
            source.SetResponse(SessionUrl, "DELETE", new MockHttpResponse <TogglEntry[]>()
            {
                FakeStatusCode = statusCode
            });
            client.LogIn();
            client.LogOut();
            return(statusKeeper);
        }
Ejemplo n.º 12
0
        public void Logout_DataSourceTimeoutFailsLogout()
        {
            Dictionary <string, string> headers = new Dictionary <string, string> {
                { "Set-Cookie", ValidFakeCookie }
            };
            MockHttpDataSource       source       = new MockHttpDataSource();
            TogglClient              client       = new TogglClient(FakeToken, source);
            ToggleClientStatusKeeper statusKeeper = new ToggleClientStatusKeeper(client);

            source.SetResponse(SessionUrl, "POST", new MockHttpResponse <TogglEntry[]>()
            {
                FakeHeaders = headers
            });
            source.SetException(SessionUrl, "DELETE", new WebException("Timeout", WebExceptionStatus.Timeout));

            client.LogIn();
            client.LogOut();

            Assert.True(statusKeeper.IsLoggedIn);
            Assert.IsFalse(statusKeeper.LogoutSucceeded);
            Assert.IsTrue(statusKeeper.LogoutFailed);
            Assert.IsTrue(statusKeeper.EncounteredError);
        }
Ejemplo n.º 13
0
        public void Login_NoAuthCookieCallsLoginFail()
        {
            ToggleClientStatusKeeper statusKeeper = LoginWithHeaders(new Dictionary <string, string>());

            Assert.IsTrue(statusKeeper.LogonFailed);
        }