コード例 #1
0
        public async void NotDeleteResult_IfUsingDifferentSecrets()
        {
            await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value);

            var deleteResult = await Outcomes1Client.DeleteResultAsync(_client, Url, Key, "nosecret", Id);

            Assert.True(deleteResult.StatusCode == HttpStatusCode.Unauthorized, $"{deleteResult.StatusCode} == {HttpStatusCode.Unauthorized}");
        }
コード例 #2
0
        public async void DeleteResult()
        {
            await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value);

            var deleteResult = await Outcomes1Client.DeleteResultAsync(_client, Url, Key, Secret, Id);

            Assert.True(deleteResult.StatusCode == HttpStatusCode.OK, $"{deleteResult.StatusCode} == {HttpStatusCode.OK}");
            var readResult = await Outcomes1Client.ReadResultAsync(_client, Url, Key, Secret, Id);

            Assert.True(readResult.Response == null, "readResult.Response == null");
        }
コード例 #3
0
        public async void ReplaceResultWithData_WhenDataIsSupplied(string text, string url, string ltiLaunchUrl)
        {
            await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value, text, url, ltiLaunchUrl);

            var readResult = await Outcomes1Client.ReadResultAsync(_client, Url, Key, Secret, Id);

            Assert.True(readResult.StatusCode == HttpStatusCode.OK, $"{readResult.StatusCode} == {HttpStatusCode.OK}");
            Assert.Equal(text, readResult.Response.Text);
            Assert.Equal(url, readResult.Response.Url);
            Assert.Equal(ltiLaunchUrl, readResult.Response.LtiLaunchUrl);
        }
コード例 #4
0
        public async void ReadResult()
        {
            await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value);

            var readResult = await Outcomes1Client.ReadResultAsync(_client, Url, Key, Secret, Id);

            Assert.True(readResult.StatusCode == HttpStatusCode.OK, $"{readResult.StatusCode} == {HttpStatusCode.OK}");
            // ReSharper disable once CompareOfFloatsByEqualityOperator
            Assert.True(readResult.Response.Score == Value, $"{readResult.Response.Score} == {Value}");
            Assert.True(readResult.Response.SourcedId == Id, $"{readResult.Response.SourcedId} == {Id}");
        }
コード例 #5
0
        public async void ReadResult_WhenCultureIsNL()
        {
            CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("nl-NL");
            await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value);

            var readResult = await Outcomes1Client.ReadResultAsync(_client, Url, Key, Secret, Id);

            Assert.True(readResult.StatusCode == HttpStatusCode.OK, $"{readResult.StatusCode} == {HttpStatusCode.OK}");
            // ReSharper disable once CompareOfFloatsByEqualityOperator
            Assert.Equal(Value, readResult.Response.Score);
        }
コード例 #6
0
        public async void ReplaceResult_WhenLtiResponseUrlProvided()
        {
            var replaceResult = await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value, ResultLtiLauncUrl);

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

            var start = replaceResult.HttpResponse.IndexOf("<imsx_description>", StringComparison.Ordinal) + "<imsx_description>".Length;
            var end   = replaceResult.HttpResponse.IndexOf("</imsx_description>", StringComparison.Ordinal);

            Assert.Equal("Score for testId is now 0.5", replaceResult.HttpResponse.Substring(start, end - start));
        }
コード例 #7
0
        public async void ReplaceResult_WhenCultureIsNL()
        {
            CultureInfo.CurrentCulture = CultureInfo.GetCultureInfo("nl-NL");
            var replaceResult = await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value);

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

            var start = replaceResult.HttpResponse.IndexOf("<imsx_description>", StringComparison.Ordinal) + "<imsx_description>".Length;
            var end   = replaceResult.HttpResponse.IndexOf("</imsx_description>", StringComparison.Ordinal);

            Assert.Equal("Score for testId is now 0.5", replaceResult.HttpResponse.Substring(start, end - start));
        }
コード例 #8
0
        public async void NotReplaceResult_IfUsingDifferentSecrets()
        {
            // First verify that plumbing works if secret is correct
            var replaceResult = await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value);

            Assert.True(replaceResult.StatusCode == HttpStatusCode.OK, $"{replaceResult.StatusCode} == {HttpStatusCode.OK}");

            // Now change secret and look for unauthorized
            replaceResult = await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, "nosecret", Id, Value);

            Assert.True(replaceResult.StatusCode == HttpStatusCode.Unauthorized, $"{replaceResult.StatusCode} == {HttpStatusCode.Unauthorized}");
        }
コード例 #9
0
        public async void ReplaceResult()
        {
            var replaceResult = await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value);

            Assert.True(replaceResult.StatusCode == HttpStatusCode.OK, $"{replaceResult.StatusCode} == {HttpStatusCode.OK}");
        }
コード例 #10
0
        public async void NotReplaceResult_IfScoreIsInvalid(double?score)
        {
            var replaceResult = await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, score);

            Assert.True(replaceResult.StatusCode == HttpStatusCode.BadRequest, $"{replaceResult.StatusCode} == {HttpStatusCode.BadRequest}");
        }
コード例 #11
0
        public async Task Use_same_encoding_for_ContentType_and_Xml_for_ReplaceResult()
        {
            var result = await Outcomes1Client.ReplaceResultAsync(_client, Url, Key, Secret, Id, Value);

            Assert.Equal(HttpStatusCode.OK, result.StatusCode);
        }