public void EnsureConvertParamsToStringRespectsForHeaderParam()
        {
            var request = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("grant_type", GetAuthTokenCommand.GrantTypeAuthorizationCode),
                new KeyValuePair <string, string>("scope", (Scope.ReadUserPlayHistory | Scope.ReadUserTasteProfile).AsStringParam())
            };

            var cmd          = new GetAuthTokenCommand();
            var bodyParams   = cmd.ConvertParamsToString(request, false);
            var headerParams = cmd.ConvertParamsToString(request, true);

            Assert.IsTrue(bodyParams.IndexOf("+") > -1, "Expected + encoded spaces");
            Assert.IsTrue(bodyParams.IndexOf("%20") == -1, "Expected + encoded spaces");

            Assert.IsTrue(headerParams.IndexOf("%20") > -1, "Expected %20 encoded spaces");
            Assert.IsTrue(headerParams.IndexOf("+") == -1, "Expected %20 encoded spaces");
        }
        public void EnsureKeysSortedByConvertParamsToString()
        {
            var request = new List <KeyValuePair <string, string> >
            {
                new KeyValuePair <string, string>("scope", Scope.ReadUserPlayHistory.AsStringParam()),
                new KeyValuePair <string, string>("grant_type", GetAuthTokenCommand.GrantTypeAuthorizationCode)
            };

            var cmd        = new GetAuthTokenCommand();
            var stringForm = cmd.ConvertParamsToString(request, false);

            Assert.AreEqual("grant_type=authorization_code&scope=read_userplayhistory", stringForm, "Expected params to be re-sorted alphabetically");
        }
        public void EnsureKeysSortedByConvertParamsToString()
        {
            var request = new List<KeyValuePair<string, string>>
                {
                    new KeyValuePair<string, string>("scope", Scope.ReadUserPlayHistory.AsStringParam()),
                    new KeyValuePair<string, string>("grant_type", GetAuthTokenCommand.GrantTypeAuthorizationCode)
                };

            var cmd = new GetAuthTokenCommand();
            var stringForm = cmd.ConvertParamsToString(request, false);

            Assert.AreEqual("grant_type=authorization_code&scope=read_userplayhistory", stringForm, "Expected params to be re-sorted alphabetically");
        }
        public void EnsureConvertParamsToStringRespectsForHeaderParam()
        {
            var request = new List<KeyValuePair<string, string>>
                {
                    new KeyValuePair<string, string>("grant_type", GetAuthTokenCommand.GrantTypeAuthorizationCode),
                    new KeyValuePair<string, string>("scope", Scope.ReadUserPlayHistory.AsStringParam())
                };

            var cmd = new GetAuthTokenCommand();
            var bodyParams = cmd.ConvertParamsToString(request, false);
            var headerParams = cmd.ConvertParamsToString(request, true);

            Assert.IsTrue(bodyParams.IndexOf("+") > -1, "Expected + encoded spaces");
            Assert.IsTrue(bodyParams.IndexOf("%20") == -1, "Expected + encoded spaces");

            Assert.IsTrue(headerParams.IndexOf("%20") > -1, "Expected %20 encoded spaces");
            Assert.IsTrue(headerParams.IndexOf("+") == -1, "Expected %20 encoded spaces");
        }