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); }
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); }
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); }