Beispiel #1
0
        public void AddIndividualCustomParameters(string name, string value, string customParameters)
        {
            var request = new TestLtiRequest(LtiConstants.BasicLaunchLtiMessageType)
            {
                Url            = new Uri("http://lti.tools/test/tp.php"),
                ConsumerKey    = "12345",
                ResourceLinkId = "launch",
                UserName       = "******"
            };

            request.AddCustomParameter(name, value);
            request.SubstituteCustomVariablesAndGenerateSignature("secret");
            Assert.Equal(customParameters, request.CustomParameters);
        }
Beispiel #2
0
        public void TreatDuplicateCustomParametersWithSubstitutionSeparately()
        {
            var request = new TestLtiRequest(LtiConstants.BasicLaunchLtiMessageType)
            {
                Url            = new Uri("http://lti.tools/test/tp.php"),
                ConsumerKey    = "12345",
                ResourceLinkId = "launch",
                UserId         = "12345",
                UserName       = "******"
            };

            request.AddCustomParameter("Username", "$User.Username");
            request.AddCustomParameter("Username", "$User.Id");
            request.SubstituteCustomVariablesAndGenerateSignature("secret");
            Assert.Equal("custom_username=amiller&custom_username=12345", request.CustomParameters);
        }
Beispiel #3
0
        public void TreatDuplicateCustomParameterNamesAsSeparateNameValue()
        {
            // HTML Form Data treats duplicate inputs as separate name/value pairs
            //
            // For example,
            //
            // <input type="text" name="firstname" value="Mickey" />
            // <input type="text" name="lastname" value="Mouse" />
            // <input type="text" name="lastname" value="Mouse" />
            //
            // Results in this Form Data when submitted
            //
            // firstname=Mickey&lastname=Mouse&lastname=Mouse
            //
            // LtiRequest custom parameters should treat the data the
            // same way.
            var request = new TestLtiRequest();

            request.AddCustomParameter("firstname", "Mickey");
            request.AddCustomParameter("lastname", "Mouse");
            request.AddCustomParameter("lastname", "Mouse");
            Assert.Equal("custom_firstname=Mickey&custom_lastname=Mouse&custom_lastname=Mouse", request.CustomParameters);
        }