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)); }
public void Logout_OKResponseLogoutSucceed() { ToggleClientStatusKeeper statusKeeper = LogInLogOutWithStatus(HttpStatusCode.OK); Assert.IsFalse(statusKeeper.IsLoggedIn); Assert.IsTrue(statusKeeper.LogoutSucceeded); Assert.IsFalse(statusKeeper.LogoutFailed); }
public void Login_EmptySetCookieHeaderLoginFail() { Dictionary <string, string> headers = new Dictionary <string, string> { { "Set-Cookie", string.Empty } }; ToggleClientStatusKeeper statusKeeper = LoginWithHeaders(headers); Assert.IsTrue(statusKeeper.LogonFailed); }
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); }
public void Login_EmptyAuthCookieLoginFail() { Dictionary <string, string> headers = new Dictionary <string, string> { { "Set-Cookie", CookieName + "=;Path=/;" } }; ToggleClientStatusKeeper statusKeeper = LoginWithHeaders(headers); Assert.IsTrue(statusKeeper.LogonFailed); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
public void Login_NoAuthCookieCallsLoginFail() { ToggleClientStatusKeeper statusKeeper = LoginWithHeaders(new Dictionary <string, string>()); Assert.IsTrue(statusKeeper.LogonFailed); }