func TestManifestBuildReplicationTransfer(t *testing.T) { nsqMessage := testutil.MakeNsqMessage("999") manifest := models.NewDPNIngestManifest(nsqMessage) fromNode := "aptrust" toNode := "chron" link := "[email protected]:outbound/1234567.tar" xfer, err := manifest.BuildReplicationTransfer(fromNode, toNode, link) // No DPNBag attached to manifest. Should get error. require.NotNil(t, err) manifest.DPNBag = testutil.MakeDPNBag() xfer, err = manifest.BuildReplicationTransfer(fromNode, toNode, link) require.Nil(t, err) require.NotNil(t, xfer) assert.Equal(t, fromNode, xfer.FromNode) assert.Equal(t, toNode, xfer.ToNode) assert.Equal(t, manifest.DPNBag.UUID, xfer.Bag) assert.True(t, util.LooksLikeUUID(xfer.ReplicationId)) assert.Equal(t, constants.AlgSha256, xfer.FixityAlgorithm) assert.Nil(t, xfer.FixityNonce) assert.Nil(t, xfer.FixityValue) assert.Equal(t, "rsync", xfer.Protocol) assert.Equal(t, link, xfer.Link) assert.False(t, xfer.CreatedAt.IsZero()) assert.False(t, xfer.UpdatedAt.IsZero()) }
func TestManifestBuildDPNIdentifierEvent(t *testing.T) { nsqMessage := testutil.MakeNsqMessage("999") manifest := models.NewDPNIngestManifest(nsqMessage) manifest.StorageURL = "https://example.com/my_bag.tar" // Should give error, since DPNBag is nil event, err := manifest.BuildDPNIdentifierEvent() require.NotNil(t, err) manifest.DPNBag = testutil.MakeDPNBag() event, err = manifest.BuildDPNIdentifierEvent() require.Nil(t, err) require.NotNil(t, event) assert.True(t, util.LooksLikeUUID(event.Identifier)) assert.Equal(t, constants.EventIdentifierAssignment, event.EventType) assert.False(t, event.DateTime.IsZero()) assert.Equal(t, "Item assigned DPN UUID", event.Detail) assert.Equal(t, constants.StatusSuccess, event.Outcome) assert.Equal(t, manifest.DPNBag.UUID, event.OutcomeDetail) assert.Equal(t, "APTrust exchange using Satori go.uuid", event.Object) assert.Equal(t, "https://github.com/satori/go.uuid", event.Agent) assert.True(t, strings.Contains(event.OutcomeInformation, manifest.DPNBag.UUID)) assert.Equal(t, manifest.DPNBag.LocalId, event.IntellectualObjectIdentifier) }
func TestNewReplicationManifest(t *testing.T) { nsqMessage := testutil.MakeNsqMessage("999") manifest := models.NewReplicationManifest(nsqMessage) assert.Equal(t, nsqMessage, manifest.NsqMessage) assert.NotNil(t, manifest.CopySummary) assert.NotNil(t, manifest.ValidateSummary) assert.NotNil(t, manifest.StoreSummary) }
func TestNewDPNIngestManifest(t *testing.T) { nsqMessage := testutil.MakeNsqMessage("999") manifest := models.NewDPNIngestManifest(nsqMessage) assert.Equal(t, nsqMessage, manifest.NsqMessage) assert.NotNil(t, manifest.PackageSummary) assert.NotNil(t, manifest.ValidateSummary) assert.NotNil(t, manifest.StoreSummary) assert.NotNil(t, manifest.RecordSummary) require.NotNil(t, manifest.ReplicationTransfers) assert.Equal(t, 0, len(manifest.ReplicationTransfers)) assert.Empty(t, manifest.StorageURL) }