@@ -4704,6 +4704,73 @@ public void testCitationDate() throws IOException {
4704
4704
.body ("oai_dc.type" , equalTo ("Dataset" ))
4705
4705
.body ("oai_dc.date" , equalTo (todayDate ))
4706
4706
.statusCode (OK .getStatusCode ());
4707
+
4708
+ String newTitle = "A Post-1.0 Version" ;
4709
+ Response updateTitle = UtilIT .updateDatasetTitleViaSword (datasetPid , newTitle , apiToken );
4710
+ updateTitle .prettyPrint ();
4711
+ updateTitle .then ().assertThat ()
4712
+ .statusCode (OK .getStatusCode ())
4713
+ .body ("entry.treatment" , equalTo ("no treatment information available" ));
4714
+
4715
+ UtilIT .publishDatasetViaNativeApi (datasetId , "major" , apiToken ).then ().assertThat ().statusCode (OK .getStatusCode ());
4716
+
4717
+ Response exportDatacitePreviouslyPublishedVersion = UtilIT .exportDataset (datasetPid , "Datacite" , false , "1.0" , apiToken );
4718
+ exportDatacitePreviouslyPublishedVersion .prettyPrint ();
4719
+ exportDatacitePreviouslyPublishedVersion .then ().assertThat ()
4720
+ .statusCode (BAD_REQUEST .getStatusCode ())
4721
+ .body ("message" , equalTo ("Non-draft version requested (1.0) but for published versions only the latest (:latest-published) is supported." ));
4722
+
4723
+ Response exportDataciteJunkVersion = UtilIT .exportDataset (datasetPid , "Datacite" , false , "junk" , apiToken );
4724
+ exportDataciteJunkVersion .prettyPrint ();
4725
+ exportDataciteJunkVersion .then ().assertThat ()
4726
+ .statusCode (BAD_REQUEST .getStatusCode ())
4727
+ .body ("message" , equalTo ("Unable to look up dataset based on version. Try :latest-published or :draft." ));
4728
+
4729
+ Response deaccessionV20 = UtilIT .deaccessionDataset (datasetPid , "2.0" , "retracted" , null , apiToken );
4730
+ deaccessionV20 .prettyPrint ();
4731
+ deaccessionV20 .then ().assertThat ().statusCode (OK .getStatusCode ());
4732
+
4733
+ Response exportDataciteV20Deaccessioned = UtilIT .exportDataset (datasetPid , "Datacite" , false , "2.0" , apiToken );
4734
+ exportDataciteV20Deaccessioned .prettyPrint ();
4735
+ exportDataciteV20Deaccessioned .then ().assertThat ()
4736
+ .statusCode (BAD_REQUEST .getStatusCode ())
4737
+ .body ("message" , equalTo ("Unable to look up dataset based on version. Try :latest-published or :draft." ));
4738
+
4739
+ Response exportDataciteV10NotDeaccessioned = UtilIT .exportDataset (datasetPid , "Datacite" , false , "1.0" , apiToken );
4740
+ exportDataciteV10NotDeaccessioned .prettyPrint ();
4741
+ exportDataciteV10NotDeaccessioned .then ().assertThat ()
4742
+ .statusCode (OK .getStatusCode ())
4743
+ .body ("resource.dates.date[0].@dateType" , CoreMatchers .equalTo ("Submitted" ))
4744
+ .body ("resource.dates.date[0]" , CoreMatchers .equalTo ("1999-12-31" ))
4745
+ .body ("resource.dates.date[1].@dateType" , CoreMatchers .equalTo ("Available" ))
4746
+ .body ("resource.dates.date[1]" , CoreMatchers .equalTo (today ))
4747
+ .body ("resource.version" , equalTo ("1.0" ));
4748
+
4749
+ Response exportDataciteLatestPublishedNotDeaccessioned = UtilIT .exportDataset (datasetPid , "Datacite" , false , DS_VERSION_LATEST_PUBLISHED , apiToken );
4750
+ exportDataciteLatestPublishedNotDeaccessioned .prettyPrint ();
4751
+ exportDataciteLatestPublishedNotDeaccessioned .then ().assertThat ()
4752
+ .statusCode (OK .getStatusCode ())
4753
+ .body ("resource.dates.date[0].@dateType" , CoreMatchers .equalTo ("Submitted" ))
4754
+ .body ("resource.dates.date[0]" , CoreMatchers .equalTo ("1999-12-31" ))
4755
+ .body ("resource.dates.date[1].@dateType" , CoreMatchers .equalTo ("Available" ))
4756
+ .body ("resource.dates.date[1]" , CoreMatchers .equalTo (today ))
4757
+ .body ("resource.version" , equalTo ("1.0" ));
4758
+
4759
+ Response deaccessionV10 = UtilIT .deaccessionDataset (datasetPid , "1.0" , "retracted" , null , apiToken );
4760
+ deaccessionV10 .prettyPrint ();
4761
+ deaccessionV10 .then ().assertThat ().statusCode (OK .getStatusCode ());
4762
+
4763
+ Response exportDataciteV10IsDeaccessioned = UtilIT .exportDataset (datasetPid , "Datacite" , false , "1.0" , apiToken );
4764
+ exportDataciteV10IsDeaccessioned .prettyPrint ();
4765
+ exportDataciteV10IsDeaccessioned .then ().assertThat ()
4766
+ .statusCode (BAD_REQUEST .getStatusCode ())
4767
+ .body ("message" , equalTo ("Unable to look up dataset based on version. Try :latest-published or :draft." ));
4768
+
4769
+ Response exportDataciteLatestPublishedIsDeaccessioned = UtilIT .exportDataset (datasetPid , "Datacite" , false , DS_VERSION_LATEST_PUBLISHED , apiToken );
4770
+ exportDataciteLatestPublishedIsDeaccessioned .prettyPrint ();
4771
+ exportDataciteLatestPublishedIsDeaccessioned .then ().assertThat ()
4772
+ .statusCode (BAD_REQUEST .getStatusCode ())
4773
+ .body ("message" , equalTo ("Unable to look up dataset based on version. Try :latest-published or :draft." ));
4707
4774
}
4708
4775
4709
4776
@ Test
0 commit comments