Exemplo n.º 1
0
        public void TestPostTransactionGraphJob()
        {
            // Setup
            var brightstar  = new Mock <IBrightstarService>();
            var mockJobInfo = new Mock <IJobInfo>();

            mockJobInfo.Setup(s => s.JobId).Returns("5678");
            brightstar.Setup(
                s =>
                s.ExecuteTransaction("foo", "preconditions string", "delete patterns string", "insert triples string",
                                     "http://update/graph/uri", false))
            .Returns(mockJobInfo.Object)
            .Verifiable();
            var app           = new Browser(new FakeNancyBootstrapper(brightstar.Object));
            var requestObject = JobRequestObject.CreateTransactionJob("preconditions string", "delete patterns string",
                                                                      "insert triples string", "http://update/graph/uri");

            // Execute
            var response = app.Post("/foo/jobs", with =>
            {
                with.Accept(MediaRange.FromString("application/json"));
                with.JsonBody(requestObject);
            });

            // Assert
            Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Created));
            Assert.That(response.Headers["Location"], Is.EqualTo("foo/jobs/5678"));
            brightstar.Verify();
        }
Exemplo n.º 2
0
 public void TestPostTransactionRequiresTransactionalUpdatePermission()
 {
     AssertPermissionRequired(
         JobRequestObject.CreateTransactionJob(new UpdateTransactionData
     {
         ExistencePreconditions    = "pre",
         NonexistencePreconditions = "nexist",
         DeletePatterns            = "del",
         InsertData      = "ins",
         DefaultGraphUri = null
     }, null), StorePermissions.TransactionUpdate);
 }
        public void TestCreateTransactionJob()
        {
            var request = JobRequestObject.CreateTransactionJob("preconditions", "deletes", "inserts");

            Assert.That(request, Has.Property("JobType").EqualTo("Transaction"));
            Assert.That(request,
                        Has.Property("JobParameters")
                        .EqualTo(new Dictionary <string, string>
            {
                { "Preconditions", "preconditions" },
                { "Deletes", "deletes" },
                { "Inserts", "inserts" },
                { "DefaultGraphUri", null }
            }));
        }
Exemplo n.º 4
0
        public void TestPostTransactionJob()
        {
            // Setup
            var brightstar  = new Mock <IBrightstarService>();
            var mockJobInfo = new Mock <IJobInfo>();

            mockJobInfo.Setup(s => s.JobId).Returns("5678");
            brightstar.Setup(
                s =>
                s.ExecuteTransaction("foo", It.Is <UpdateTransactionData>(txn =>
                                                                          txn.ExistencePreconditions ==
                                                                          "preconditions string" &&
                                                                          txn.NonexistencePreconditions ==
                                                                          "nonexistence preconditions string" &&
                                                                          txn.DeletePatterns == "delete patterns string" &&
                                                                          txn.InsertData == "insert triples string" &&
                                                                          txn.DefaultGraphUri == null), false,
                                     "TransactionJob"))
            .Returns(mockJobInfo.Object)
            .Verifiable();
            var app           = new Browser(new FakeNancyBootstrapper(brightstar.Object));
            var requestObject = JobRequestObject.CreateTransactionJob(
                new UpdateTransactionData
            {
                ExistencePreconditions    = "preconditions string",
                NonexistencePreconditions = "nonexistence preconditions string",
                DeletePatterns            = "delete patterns string",
                InsertData      = "insert triples string",
                DefaultGraphUri = null
            }, "TransactionJob");


            // Execute
            var response = app.Post("/foo/jobs", with =>
            {
                with.Accept(MediaRange.FromString("application/json"));
                with.JsonBody(requestObject);
            });

            // Assert
            Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Created));
            Assert.That(response.Headers["Location"], Is.EqualTo("foo/jobs/5678"));
            brightstar.Verify();
        }
Exemplo n.º 5
0
        public void TestCreateJobWithLabelInConstructor()
        {
            // Consolidate
            var consolidateRequest = JobRequestObject.CreateConsolidateJob(label: "ConsolidationJob");

            Assert.That(consolidateRequest, Has.Property("Label").EqualTo("ConsolidationJob"));
            // export
            var exportRequest = JobRequestObject.CreateExportJob("export.nt", label: "ExportJob");

            Assert.That(exportRequest, Has.Property("Label").EqualTo("ExportJob"));
            // import
            var importRequest = JobRequestObject.CreateImportJob("import.nt", label: "ImportJob");

            Assert.That(importRequest, Has.Property("Label").EqualTo("ImportJob"));
            // repeat transaction
            var repeatRequest = JobRequestObject.CreateRepeatTransactionJob(Guid.Empty, label: "RepeatJob");

            Assert.That(repeatRequest, Has.Property("Label").EqualTo("RepeatJob"));
            // Snapshot
            var snapshotRequest = JobRequestObject.CreateSnapshotJob("storeToSnapshot", PersistenceType.AppendOnly, label: "SnapshotJob");

            Assert.That(snapshotRequest, Has.Property("Label").EqualTo("SnapshotJob"));
            // Sparql Update
            var sparqlUpdateRequest = JobRequestObject.CreateSparqlUpdateJob("update expression", label: "SparqlUpdateJob");

            Assert.That(sparqlUpdateRequest, Has.Property("Label").EqualTo("SparqlUpdateJob"));
            // Transaction
            var transactionJob = JobRequestObject.CreateTransactionJob(
                new UpdateTransactionData
            {
                ExistencePreconditions    = "precon",
                NonexistencePreconditions = "nexist",
                DeletePatterns            = "delete",
                InsertData      = "insert",
                DefaultGraphUri = null,
            }, "TransactionJob");

            Assert.That(transactionJob, Has.Property("Label").EqualTo("TransactionJob"));
            // Update Statistics
            var updateStatsRequest = JobRequestObject.CreateUpdateStatsJob(label: "UpdateStats");

            Assert.That(updateStatsRequest, Has.Property("Label").EqualTo("UpdateStats"));
        }
Exemplo n.º 6
0
        public void TestCreateTransactionJob()
        {
            var request = JobRequestObject.CreateTransactionJob(new UpdateTransactionData
            {
                ExistencePreconditions    = "preconditions",
                NonexistencePreconditions = "nonexistencePreconditions",
                DeletePatterns            = "deletes",
                InsertData      = "inserts",
                DefaultGraphUri = null
            }, null);

            Assert.That(request, Has.Property("JobType").EqualTo("Transaction"));
            Assert.That(request,
                        Has.Property("JobParameters")
                        .EqualTo(new Dictionary <string, string>
            {
                { "Preconditions", "preconditions" },
                { "NonexistencePreconditions", "nonexistencePreconditions" },
                { "Deletes", "deletes" },
                { "Inserts", "inserts" },
                { "DefaultGraphUri", null }
            }));
        }
Exemplo n.º 7
0
 public void TestPostTransactionRequiresTransactionalUpdatePermission()
 {
     AssertPermissionRequired(JobRequestObject.CreateTransactionJob("pre", "del", "ins"), StorePermissions.TransactionUpdate);
     AssertPermissionRequired(JobRequestObject.CreateTransactionJob("pre", "del", "ins", "http://some/graph/uri"), StorePermissions.TransactionUpdate);
 }