public void Test_DisqusRemoteAuthentication_LoggedOut()
        {
            string expectedMessage = "e30=";

            var remoteUser = new DisqusRemoteUser(
                id: null,
                name: null,
                email: null
                );

            var auth = new DisqusRemoteAuthentication(
                apiKey: TEST_API_KEY,
                apiSecret: TEST_API_SECRET,
                remoteUser: remoteUser
                );

            Assert.IsTrue(auth.AuthenticationToken.StartsWith(expectedMessage, StringComparison.InvariantCulture));
        }
        public void Test_DisqusRemoteAuthentication_LoggedIn_Basic()
        {
            string expectedMessage = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6InRlc3R1c2VyIiwiZW1haWwiOiJ0ZXN0dXNlckBleGFtcGxlLmNvbSJ9";

            var remoteUser = new DisqusRemoteUser(
                id: "1",
                name: "testuser",
                email: "*****@*****.**"
                );

            var auth = new DisqusRemoteAuthentication(
                apiKey: TEST_API_KEY,
                apiSecret: TEST_API_SECRET,
                remoteUser: remoteUser,
                timestamp: _timestampStatic
                );

            Assert.AreEqual(TEST_API_KEY, auth.ApiKey);
            Assert.AreEqual(auth.AuthenticationToken.Length, 136);
            Assert.IsTrue(auth.AuthenticationToken.StartsWith(expectedMessage, StringComparison.InvariantCulture));
            Assert.IsTrue(auth.AuthenticationToken.EndsWith(_timestampStaticValue, StringComparison.InvariantCulture));
        }
        public void Test_DisqusRemoteAuthentication_LoggedIn_Full()
        {
            string expectedMessage = "eyJpZCI6IjEiLCJ1c2VybmFtZSI6InRlc3R1c2VyIiwiZW1haWwiOiJ0ZXN0dXNlckBleGFtcGxlLmNvbSIsImF2YXRhciI6Imh0dHBzOi8vZGlzcXVzLmNvbS9hdmF0YXIvc29tZXRoaW5nLmpwZyIsInVybCI6Imh0dHBzOi8vZGlzcXVzLmNvbS8ifQ==";

            var remoteUser = new DisqusRemoteUser(
                id: "1",
                name: "testuser",
                email: "*****@*****.**",
                avatar: new Uri("https://disqus.com/avatar/something.jpg"),
                url: new Uri("https://disqus.com/")
                );

            var auth = new DisqusRemoteAuthentication(
                apiKey: TEST_API_KEY,
                apiSecret: TEST_API_SECRET,
                remoteUser: remoteUser
                );

            Assert.IsTrue(
                auth.AuthenticationToken.StartsWith(expectedMessage, StringComparison.InvariantCulture),
                $"Message did not match, was {auth.AuthenticationToken.Split(' ')[0]}"
                );
        }