Ejemplo n.º 1
0
        public async void NotDeleteLineItem_WhenSecretIsNotCorrect()
        {
            _fixture.InitializeData();
            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems/nolineitem";
            var clientResponse = await Outcomes2Client.DeleteLineItemAsync(_client, url, Key, "nosecret");

            Assert.True(clientResponse.StatusCode == HttpStatusCode.Unauthorized, $"{clientResponse.StatusCode} == {HttpStatusCode.Unauthorized}");
        }
Ejemplo n.º 2
0
        public async void NotDeleteLineItem_WhenLineItemDoesNotExist()
        {
            _fixture.InitializeData();
            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems/nolineitem";
            var clientResponse = await Outcomes2Client.DeleteLineItemAsync(_client, url, Key, Secret);

            Assert.True(clientResponse.StatusCode == HttpStatusCode.NotFound, $"{clientResponse.StatusCode} == {HttpStatusCode.NotFound}");
        }
Ejemplo n.º 3
0
        public async void ReturnNotFound_IfThereAreNoMatchingLineItems()
        {
            _fixture.InitializeData();

            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems";
            var clientResponse = await Outcomes2Client.GetLineItemsAsync(_client, url, Key, Secret, limit : 10);

            Assert.True(clientResponse.StatusCode == HttpStatusCode.OK, $"{clientResponse.StatusCode} == {HttpStatusCode.NotFound}");
        }
Ejemplo n.º 4
0
        public async void ReturnNotFound_IfThereIsNoMatchingLineItem()
        {
            _fixture.InitializeData();

            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems/{OutcomesDataFixture.LineItemId}";
            var clientResponse = await Outcomes2Client.GetLineItemAsync(_client, url, Key, Secret);

            Assert.Equal(HttpStatusCode.NotFound, clientResponse.StatusCode);
        }
Ejemplo n.º 5
0
        public async void PostLineItem_WhenSecretIsCorrect()
        {
            _fixture.InitializeData();
            var lineitem = new LineItem {
                LineItemOf = new Context {
                    ContextId = OutcomesDataFixture.ContextId
                }
            };

            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems";
            var clientResponse = await Outcomes2Client.PostLineItemAsync(_client, url, Key, Secret, lineitem);

            Assert.True(clientResponse.StatusCode == HttpStatusCode.Created, $"clientResponse.StatusCode == {HttpStatusCode.Created}");
        }
Ejemplo n.º 6
0
        public async void NotPutLineItem_WhenSecretIsNotCorrect()
        {
            _fixture.InitializeData();
            var lineitem = new LineItem {
                LineItemOf = new Context {
                    ContextId = OutcomesDataFixture.ContextId
                }
            };

            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems/lineitem-1";
            var clientResponse = await Outcomes2Client.PutLineItemAsync(_client, url, Key, "nosecret", lineitem);

            Assert.True(clientResponse.StatusCode == HttpStatusCode.Unauthorized, $"{clientResponse.StatusCode} == {HttpStatusCode.Unauthorized}");
        }
Ejemplo n.º 7
0
        public async void NotPutLineItem_WhenLineItemDoesNotExist()
        {
            _fixture.InitializeData();
            var lineitem = new LineItem {
                LineItemOf = new Context {
                    ContextId = OutcomesDataFixture.ContextId
                }
            };

            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems";
            var clientResponse = await Outcomes2Client.PutLineItemAsync(_client, url, Key, Secret, lineitem);

            Assert.Equal(HttpStatusCode.NotFound, clientResponse.StatusCode);
        }
Ejemplo n.º 8
0
        public async void NotPostLineItem_WhenSecretIsIncorrect()
        {
            _fixture.InitializeData();
            var lineitem = new LineItem {
                LineItemOf = new Context {
                    ContextId = OutcomesDataFixture.ContextId
                }
            };

            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems";
            var clientResponse = await Outcomes2Client.PostLineItemAsync(_client, url, Key, "nosecret", lineitem);

            Assert.Equal(HttpStatusCode.Unauthorized, clientResponse.StatusCode);
        }
Ejemplo n.º 9
0
        public async void ReturnLineItem_WhenValidLineItemIsPosted()
        {
            _fixture.InitializeData();
            var lineitem = new LineItem {
                LineItemOf = new Context {
                    ContextId = OutcomesDataFixture.ContextId
                }
            };

            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems";
            var clientResponse = await Outcomes2Client.PostLineItemAsync(_client, url, Key, Secret, lineitem);

            Assert.Equal(HttpStatusCode.Created, clientResponse.StatusCode);
            Assert.NotNull(clientResponse.Response.Id);
            Assert.Equal(OutcomesDataFixture.ContextId, clientResponse.Response.LineItemOf.ContextId);
        }
Ejemplo n.º 10
0
        public async void DeleteLineItem_WhenLineItemExists()
        {
            _fixture.InitializeData();
            var lineitem = new LineItem {
                LineItemOf = new Context {
                    ContextId = OutcomesDataFixture.ContextId
                }
            };

            var url          = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems";
            var postResponse = await Outcomes2Client.PostLineItemAsync(_client, url, Key, Secret, lineitem);

            lineitem = postResponse.Response;

            var clientResponse = await Outcomes2Client.DeleteLineItemAsync(_client, lineitem.Id.AbsoluteUri, Key, Secret);

            Assert.True(clientResponse.StatusCode == HttpStatusCode.OK, $"clientResponse.StatusCode == {HttpStatusCode.OK}");
        }
Ejemplo n.º 11
0
        public async void ReturnLineItem_WhenValidLineItemIsRequested()
        {
            _fixture.InitializeData();
            var lineitem = new LineItem {
                LineItemOf = new Context {
                    ContextId = OutcomesDataFixture.ContextId
                }
            };

            var url            = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems";
            var clientResponse = await Outcomes2Client.PostLineItemAsync(_client, url, Key, Secret, lineitem);

            url            = clientResponse.Response.Id.AbsoluteUri;
            clientResponse = await Outcomes2Client.GetLineItemAsync(_client, url, Key, Secret);

            Assert.True(clientResponse.StatusCode == HttpStatusCode.OK, $"clientResponse.StatusCode == {HttpStatusCode.OK}");
            Assert.True(clientResponse.Response.Id.AbsoluteUri == url, $"clientResponse.Response.Id == {url}");
            Assert.True(clientResponse.Response.LineItemOf.ContextId == OutcomesDataFixture.ContextId, $"clientResponse.Response.LineItemOf.ContextId == {OutcomesDataFixture.ContextId}");
        }
Ejemplo n.º 12
0
        public async void PutLineItem_WhenSecretIsCorrect()
        {
            _fixture.InitializeData();
            var lineitem = new LineItem {
                LineItemOf = new Context {
                    ContextId = OutcomesDataFixture.ContextId
                }
            };

            var url          = $"/ims/courses/{OutcomesDataFixture.ContextId}/lineitems";
            var postResponse = await Outcomes2Client.PostLineItemAsync(_client, url, Key, Secret, lineitem);

            lineitem = postResponse.Response;

            lineitem.Label = "Updated";
            var clientResponse = await Outcomes2Client.PutLineItemAsync(_client, lineitem.Id.AbsoluteUri, Key, Secret, lineitem);

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

            var readResponse = await Outcomes2Client.GetLineItemAsync(_client, lineitem.Id.AbsoluteUri, Key, Secret);

            Assert.True(readResponse.StatusCode == HttpStatusCode.OK, $"clientResponse.StatusCode == {HttpStatusCode.OK}");
            Assert.True(readResponse.Response.Label == "Updated", "LineItem.Label == \"Updated\"");
        }