Пример #1
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"));
        }
        public void TestCreateImportJob()
        {
            var request = JobRequestObject.CreateImportJob("importFile.nt");

            Assert.That(request, Has.Property("JobType").EqualTo("Import"));
            Assert.That(request, Has.Property("JobParameters").EqualTo(new Dictionary <string, string> {
                { "FileName", "importFile.nt" }, { "DefaultGraphUri", null }
            }));

            request = JobRequestObject.CreateImportJob("importFile.rdf", "http://some/graph/uri");
            Assert.That(request, Has.Property("JobType").EqualTo("Import"));
            Assert.That(request, Has.Property("JobParameters").EqualTo(new Dictionary <string, string> {
                { "FileName", "importFile.rdf" }, { "DefaultGraphUri", "http://some/graph/uri" }
            }));

            Assert.That(() => JobRequestObject.CreateImportJob(null), Throws.TypeOf(typeof(ArgumentNullException)).With.Property("ParamName").EqualTo("importFileName"));
            Assert.That(() => JobRequestObject.CreateImportJob(""), Throws.TypeOf(typeof(ArgumentException)).With.Property("ParamName").EqualTo("importFileName"));
            Assert.That(() => JobRequestObject.CreateImportJob("foo", ""), Throws.TypeOf(typeof(ArgumentException)).With.Property("ParamName").EqualTo("defaultGraphUri"));
        }
Пример #3
0
        public void TestPostImportGraphJob()
        {
            var brightstar  = new Mock <IBrightstarService>();
            var mockJobInfo = new Mock <IJobInfo>();

            mockJobInfo.Setup(s => s.JobId).Returns("3456");
            brightstar.Setup(s => s.StartImport("foo", "import.nt", "http://import/graph/uri")).Returns(mockJobInfo.Object).Verifiable();
            var app           = new Browser(new FakeNancyBootstrapper(brightstar.Object));
            var requestObject = JobRequestObject.CreateImportJob("import.nt", "http://import/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/3456"));
            brightstar.Verify();
        }
Пример #4
0
        public void TestPostImportWithFormatOverride()
        {
            var brightstar  = new Mock <IBrightstarService>();
            var mockJobInfo = new Mock <IJobInfo>();

            mockJobInfo.Setup(s => s.JobId).Returns("3456");
            brightstar.Setup(s => s.StartImport("foo", "import.nt", null, "ImportJob", It.Is <RdfFormat>(f => f.MatchesMediaType(RdfFormat.RdfXml)))).Returns(mockJobInfo.Object).Verifiable();
            var app           = new Browser(new FakeNancyBootstrapper(brightstar.Object));
            var requestObject = JobRequestObject.CreateImportJob("import.nt", label: "ImportJob", importFormat: RdfFormat.RdfXml);

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

            // Assert
            Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Created));
            Assert.That(response.Headers["Location"], Is.EqualTo("foo/jobs/3456"));
            brightstar.Verify();
        }
Пример #5
0
 public void TestPostImportJobRequiresUpdatePermissions()
 {
     AssertPermissionRequired(JobRequestObject.CreateImportJob("import.nt"), StorePermissions.TransactionUpdate);
     AssertPermissionRequired(JobRequestObject.CreateImportJob("import.nt", "http://some/graph/uri"), StorePermissions.TransactionUpdate);
 }