public async void Verify_Account_Register_CreateAccount()
        {
            var testUser = GetUniqueUserId();

            // Act
            var getResponse = await Client.GetAsync("http://localhost/Account/Register");

            Assert.Equal(HttpStatusCode.OK, getResponse.StatusCode);

            var responseContent = await getResponse.Content.ReadAsStringAsync();

            Assert.Contains("Create a new account.", responseContent);

            var verificationToken = ExtractVerificationToken(responseContent);

            HttpContent requestContent = CreateRegisterPost(verificationToken, testUser, "Asd!123$$", "Asd!123$$");

            AddCookiesToRequest(getResponse.Headers, requestContent.Headers);

            var postResponse = await Client.PostAsync("http://localhost/Account/Register", requestContent);

            var postResponseContent = await getResponse.Content.ReadAsStringAsync();

            Assert.Equal("/", GetHeaderValue(postResponse.Headers, "Location"));

            // Grab the auth cookie
            string authCookie = GetAuthCookie(postResponse.Headers);

            Assert.NotEqual(String.Empty, authCookie);

            AddAuthCookie(Client.DefaultRequestHeaders, authCookie);

            // Verify manage page
            var manageResponse = await Client.GetAsync("http://localhost/Manage");

            Assert.Equal(HttpStatusCode.OK, getResponse.StatusCode);

            var manageContent = await manageResponse.Content.ReadAsStringAsync();

            Assert.Contains("Hello " + testUser, manageContent);
            verificationToken = ExtractVerificationToken(manageContent);

            // Verify Logoff
            HttpContent logoffRequestContent = CreateLogOffPost(verificationToken);

            AddCookiesToRequest(manageResponse.Headers, logoffRequestContent.Headers);

            var logoffResponse = await Client.PostAsync("http://localhost/Account/LogOff", logoffRequestContent);

            Assert.Equal(HttpStatusCode.Redirect, logoffResponse.StatusCode);
            Assert.Equal("/", GetHeaderValue(logoffResponse.Headers, "Location"));

            // Grab the auth cookie
            authCookie = GetAuthCookie(logoffResponse.Headers);
            Assert.Equal(String.Empty, authCookie);

            var logoffContent = await logoffResponse.Content.ReadAsStringAsync();

            Assert.Equal(String.Empty, logoffContent);

            // Verify relogin
            Client = _fixture.CreateClient();

            var loginResponse = await Client.GetAsync("http://localhost/Account/Login");

            Assert.Equal(HttpStatusCode.OK, getResponse.StatusCode);
            var loginResponseContent = await loginResponse.Content.ReadAsStringAsync();

            verificationToken = ExtractVerificationToken(responseContent);
            HttpContent loginRequestContent = CreateLoginPost(verificationToken, testUser, "Asd!123$$");

            AddCookiesToRequest(getResponse.Headers, loginRequestContent.Headers);

            var loginPostResponse = await Client.PostAsync("http://localhost/Account/Login", loginRequestContent);

            Assert.Equal(HttpStatusCode.Redirect, loginPostResponse.StatusCode);
            Assert.Equal("/", GetHeaderValue(loginPostResponse.Headers, "Location"));

            // Grab the auth cookie
            authCookie = GetAuthCookie(loginPostResponse.Headers);
            Assert.NotEqual(String.Empty, authCookie);
        }