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")); }
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(); }
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(); }
public void TestPostImportJobRequiresUpdatePermissions() { AssertPermissionRequired(JobRequestObject.CreateImportJob("import.nt"), StorePermissions.TransactionUpdate); AssertPermissionRequired(JobRequestObject.CreateImportJob("import.nt", "http://some/graph/uri"), StorePermissions.TransactionUpdate); }