예제 #1
0
        public void failure_when_signing_off_unpublishable_record_test()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("10fc0e18-1250-46fe-825a-2003b7dbcfc5");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = new DateTime(2017, 09, 27);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = false,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 27)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            Action a = () => GetSignOffPublishingResponse(PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record), record);

            a.ShouldThrow <Exception>().And.Message.Should().Be("Record must be publishable as Open Data");
        }
예제 #2
0
        public void failure_when_signing_off_record_with_no_publishable_value_test()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("3ef3b040-30b4-4399-b223-e8b3599e415a");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = new DateTime(2017, 09, 27);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = null,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 27)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            Action a = () => GetSignOffPublishingResponse(PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record), record);

            a.ShouldThrow <Exception>().And.Message.Should().Be("Record must be publishable as Open Data");
        }
예제 #3
0
        public void sign_off_record_with_failed_upload_attempt()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("5d8ce359-4475-4a0e-9f31-0f70dbbc8bfc");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = new DateTime(2017, 07, 12);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = true,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 07, 09)
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            User = new UserInfo
                            {
                                DisplayName = "Cathy",
                                Email       = "*****@*****.**"
                            },
                            DateUtc = new DateTime(2017, 07, 10)
                        },
                        LastAttempt = new PublicationAttempt
                        {
                            DateUtc = new DateTime(2017, 07, 12)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var    db = PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record);
            Action a  = () => GetSignOffPublishingResponse(db, record);

            a.ShouldThrow <InvalidOperationException>().And.Message.Should().Be("The record has already been signed off");

            var resultRecord = db.Load <Record>(record.Id);

            resultRecord.Publication.Should().NotBeNull();

            var openDataInfo = resultRecord.Publication.OpenData;

            openDataInfo.Should().NotBeNull();
            openDataInfo.LastAttempt.DateUtc.Should().Be(new DateTime(2017, 07, 12));
            openDataInfo.LastSuccess.Should().BeNull();
            openDataInfo.Resources.Should().BeNull();
            openDataInfo.Paused.Should().BeFalse();
            openDataInfo.SignOff.User.DisplayName.Should().Be("Cathy");
            openDataInfo.SignOff.User.Email.Should().Be("*****@*****.**");
            openDataInfo.SignOff.DateUtc.Should().Be(new DateTime(2017, 07, 10));
            resultRecord.Gemini.MetadataDate.Should().NotBe(openDataInfo.SignOff.DateUtc);
        }
예제 #4
0
        public void sign_off_with_incomplete_risk_assessment_test()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("9f9d7a83-8fcb-4afc-956b-3d874d5632b1");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = new DateTime(2017, 09, 27);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = true,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed = false,
                        }
                    }
                };
                r.Footer = new Footer();
            });

            Action a = () => GetSignOffPublishingResponse(PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record), record);

            a.ShouldThrow <InvalidOperationException>().And.Message.Should().Be("Couldn't sign-off record for publication - assessment not completed or out of date");
        }
예제 #5
0
        public void failure_when_saving_sign_off_changes_test()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("30f9aed6-62f2-478d-8851-c322ddb7beb8");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title = "A very long title that is over two hundred characters long so that the Gemini " +
                              "validation will fail.........................................................." +
                              "..............................................................................";
                    m.MetadataDate = new DateTime(2017, 09, 27);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = true,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 27)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            Action a = () => GetSignOffPublishingResponse(PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record), record);

            a.ShouldThrow <Exception>().And.Message.Should().Be("Error while saving sign off changes");
        }
예제 #6
0
        public void successful_sign_off_for_republishing()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("b288b636-026b-4187-96d4-a083e9cbe9e4");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = DateTime.Parse("2017-07-12T00:00:00.0000000Z");
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = true,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = DateTime.Parse("2017-07-12T00:00:00.0000000Z")
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            User = new UserInfo
                            {
                                DisplayName = "Cathy",
                                Email       = "*****@*****.**"
                            },
                            DateUtc = DateTime.Parse("2017-07-10T00:00:00.0000000Z")
                        },
                        LastAttempt = new PublicationAttempt
                        {
                            DateUtc = DateTime.Parse("2017-07-11T00:00:00.0000000Z")
                        },
                        LastSuccess = new PublicationAttempt
                        {
                            DateUtc = DateTime.Parse("2017-07-11T00:00:00.0000000Z")
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var resultRecord = GetSignOffPublishingResponse(PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record), record).Record;

            resultRecord.Publication.Should().NotBeNull();

            var openDataInfo = resultRecord.Publication.OpenData;

            openDataInfo.Should().NotBeNull();
            openDataInfo.LastAttempt.DateUtc.Should().Be(DateTime.Parse("2017-07-11T00:00:00.0000000Z"));
            openDataInfo.LastSuccess.DateUtc.Should().Be(DateTime.Parse("2017-07-11T00:00:00.0000000Z"));
            openDataInfo.Resources.Should().BeNull();
            openDataInfo.Paused.Should().BeFalse();
            openDataInfo.SignOff.User.DisplayName.Should().Be("Test User");
            openDataInfo.SignOff.User.Email.Should().Be("*****@*****.**");
            openDataInfo.SignOff.DateUtc.Should().NotBe(DateTime.MinValue);
            openDataInfo.SignOff.DateUtc.Should().NotBe(DateTime.Parse("2017-07-10T00:00:00.0000000Z"));
        }
예제 #7
0
        private RecordServiceResult GetSignOffPublishingResponse(IDocumentSession db, Record record)
        {
            var publishingController = PublishingTestHelper.GetTestOpenDataPublishingController(db);

            var request = new SignOffRequest
            {
                Id      = record.Id,
                Comment = "Sign off test"
            };

            return((RecordServiceResult)publishingController.SignOff(request));
        }
예제 #8
0
        public void failure_when_resigning_off_unpublishable_record_test()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("10e31ac3-0066-47b8-8121-18059e9c3ca0");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = DateTime.Parse("2017-07-12T00:00:00.0000000Z");
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = false,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = DateTime.Parse("2017-07-12T00:00:00.0000000Z")
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            User = new UserInfo
                            {
                                DisplayName = "Cathy",
                                Email       = "*****@*****.**"
                            },
                            DateUtc = DateTime.Parse("2017-07-10T00:00:00.0000000Z")
                        },
                        LastAttempt = new PublicationAttempt
                        {
                            DateUtc = DateTime.Parse("2017-07-11T00:00:00.0000000Z")
                        },
                        LastSuccess = new PublicationAttempt
                        {
                            DateUtc = DateTime.Parse("2017-07-11T00:00:00.0000000Z")
                        }
                    }
                };
                r.Footer = new Footer();
            });

            Action a = () => GetSignOffPublishingResponse(PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record), record);

            a.ShouldThrow <Exception>().And.Message.Should().Be("Record must be publishable as Open Data");
        }
예제 #9
0
        public void successful_open_data_sign_off_test()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("f34de2d3-17af-47e2-8deb-a16b67c76b06");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = new DateTime(2017, 09, 27);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = true,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 27)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var resultRecord = GetSignOffPublishingResponse(PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record), record).Record;

            resultRecord.Publication.Should().NotBeNull();

            var openDataInfo = resultRecord.Publication.OpenData;

            openDataInfo.Should().NotBeNull();
            openDataInfo.LastAttempt.Should().BeNull();
            openDataInfo.LastSuccess.Should().BeNull();
            openDataInfo.Resources.Should().BeNull();
            openDataInfo.Paused.Should().BeFalse();
            openDataInfo.SignOff.User.DisplayName.Should().Be("Test User");
            openDataInfo.SignOff.User.Email.Should().Be("*****@*****.**");
            openDataInfo.SignOff.DateUtc.Should().NotBe(DateTime.MinValue);
            openDataInfo.SignOff.Comment.Should().Be("Sign off test");
            resultRecord.Gemini.MetadataDate.Should().Be(openDataInfo.SignOff.DateUtc);
        }
예제 #10
0
        public void repeat_sign_off_should_fail_test()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("eb6fc4d3-1d75-446d-adc8-296881110079");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = new DateTime(2017, 07, 20);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = true,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 07, 29)
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            DateUtc = new DateTime(2017, 07, 20),
                            User    = new UserInfo
                            {
                                DisplayName = "Ulric",
                                Email       = "*****@*****.**"
                            }
                        }
                    }
                };
                r.Footer = new Footer();
            });

            Action a = () => GetSignOffPublishingResponse(PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record), record);

            a.ShouldThrow <InvalidOperationException>().And.Message.Should().Be("The record has already been signed off");
        }
예제 #11
0
        public void awaiting_sign_off_test()
        {
            var retrieveSignOffTest1Record = new Record().With(r =>
            {
                r.Id         = new Guid("af8e531f-2bed-412e-9b03-2b339c672bff");
                r.Path       = @"X:\path\to\assessment\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title        = "Retrieve Sign Off Test 1";
                    m.MetadataDate = new DateTime(2017, 09, 25);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Assessment = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 25)
                        },
                        SignOff = null
                    }
                };
                r.Footer = new Footer();
            });

            var retrieveSignOffTest2Record = new Record().With(r =>
            {
                r.Id         = new Guid("f4b6dd32-93ad-41cd-a7a0-2df0f5c7410b");
                r.Path       = @"X:\path\to\assessment\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title        = "Retrieve Sign Off Test 2";
                    m.MetadataDate = new DateTime(2017, 09, 25);
                });
                r.Publication = null;
                r.Footer      = new Footer();
            });

            var retrieveSignOffTest3Record = new Record().With(r =>
            {
                r.Id         = new Guid("dbb9bf6e-c128-4611-bd3f-73bd7a9ae4e9");
                r.Path       = @"X:\path\to\assessment\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title        = "Retrieve Sign Off Test 3";
                    m.MetadataDate = new DateTime(2017, 09, 26);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Assessment = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 25)
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            DateUtc = new DateTime(2017, 09, 26),
                            User    = TestUserInfo.TestUser
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var retrieveSignOffTest4Record = new Record().With(r =>
            {
                r.Id         = new Guid("e1255428-90ec-4d8e-a9d9-0cf210c64dbd");
                r.Path       = @"X:\path\to\assessment\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title        = "Retrieve Sign Off Test 4";
                    m.MetadataDate = new DateTime(2017, 09, 25);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Assessment = new OpenDataAssessmentInfo
                        {
                            Completed = false
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            DateUtc = new DateTime(2017, 09, 25),
                            User    = TestUserInfo.TestUser
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var retrieveSignOffTest5Record = new Record().With(r =>
            {
                r.Id         = new Guid("f37efe7f-3033-42d4-83a0-f6d7ab59d0c2");
                r.Path       = @"X:\path\to\assessment\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title        = "Retrieve Sign Off Test 5";
                    m.MetadataDate = new DateTime(2017, 09, 25);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Assessment = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 25)
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            DateUtc = new DateTime(2017, 09, 20),
                            User    = TestUserInfo.TestUser
                        },
                        LastAttempt = new PublicationAttempt
                        {
                            DateUtc = new DateTime(2017, 09, 21)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var retrieveSignOffTest6Record = new Record().With(r =>
            {
                r.Id         = new Guid("d038b054-269e-4d4f-a635-da75929e8fee");
                r.Path       = @"X:\path\to\assessment\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title        = "Retrieve Sign Off Test 6";
                    m.MetadataDate = new DateTime(2017, 09, 28);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Assessment = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 25)
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            DateUtc = new DateTime(2017, 09, 28),
                            User    = TestUserInfo.TestUser
                        },
                        LastAttempt = new PublicationAttempt
                        {
                            DateUtc = new DateTime(2017, 09, 28)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var retrieveSignOffTest7Record = new Record().With(r =>
            {
                r.Id         = new Guid("7ec978bc-2ecd-4ab4-a233-5aead4947ab2");
                r.Path       = @"X:\path\to\assessment\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title        = "Retrieve Sign Off Test 7";
                    m.MetadataDate = new DateTime(2017, 09, 30);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Assessment = new OpenDataAssessmentInfo
                        {
                            Completed      = false,
                            CompletedOnUtc = new DateTime(2017, 09, 25)
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            DateUtc = new DateTime(2017, 09, 20),
                            User    = TestUserInfo.TestUser
                        },
                        LastAttempt = new PublicationAttempt
                        {
                            DateUtc = new DateTime(2017, 09, 21)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var retrieveSignOffTest8Record = new Record().With(r =>
            {
                r.Id         = new Guid("fd32ba72-41d4-4769-a365-34ad570fbf7b");
                r.Path       = @"X:\path\to\assessment\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.Title        = "Retrieve Sign Off Test 8";
                    m.MetadataDate = new DateTime(2017, 09, 30);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Assessment = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 09, 25)
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            DateUtc = new DateTime(2017, 09, 26),
                            User    = TestUserInfo.TestUser
                        },
                        LastAttempt = new PublicationAttempt
                        {
                            DateUtc = new DateTime(2017, 09, 30)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var testRecords = new List <Record>(new [] { retrieveSignOffTest1Record, retrieveSignOffTest2Record,
                                                         retrieveSignOffTest3Record, retrieveSignOffTest4Record, retrieveSignOffTest5Record,
                                                         retrieveSignOffTest6Record, retrieveSignOffTest7Record, retrieveSignOffTest8Record });

            var store = new InMemoryDatabaseHelper().Create();

            using (var db = store.OpenSession())
            {
                foreach (var record in testRecords)
                {
                    db.Store(record);
                }
                db.SaveChanges();

                Thread.Sleep(100); // Allow time for indexing

                var publishingController = PublishingTestHelper.GetTestOpenDataPublishingController(db);
                var result = publishingController.PendingSignOff();
                result.Count.Should().Be(2);
                result.Count(r => string.Equals(r.Title, "Retrieve Sign Off Test 1", StringComparison.CurrentCulture)).Should().Be(1);
                result.Count(r => string.Equals(r.Title, "Retrieve Sign Off Test 5", StringComparison.CurrentCulture)).Should().Be(1);
            }
        }
예제 #12
0
        public void sign_off_out_of_date_record()
        {
            var record = new Record().With(r =>
            {
                r.Id         = new Guid("d2183557-a36b-4cfb-8a57-279febdc4de5");
                r.Path       = @"X:\path\to\signoff\test";
                r.Validation = Validation.Gemini;
                r.Gemini     = Library.Example().With(m =>
                {
                    m.MetadataDate = new DateTime(2017, 07, 12);
                });
                r.Publication = new PublicationInfo
                {
                    OpenData = new OpenDataPublicationInfo
                    {
                        Publishable = true,
                        Assessment  = new OpenDataAssessmentInfo
                        {
                            Completed      = true,
                            CompletedOnUtc = new DateTime(2017, 07, 09)
                        },
                        SignOff = new OpenDataSignOffInfo
                        {
                            User = new UserInfo
                            {
                                DisplayName = "Cathy",
                                Email       = "*****@*****.**"
                            },
                            DateUtc = new DateTime(2017, 07, 10)
                        },
                        LastAttempt = new PublicationAttempt
                        {
                            DateUtc = new DateTime(2017, 07, 11)
                        },
                        LastSuccess = new PublicationAttempt
                        {
                            DateUtc = new DateTime(2017, 07, 11)
                        }
                    }
                };
                r.Footer = new Footer();
            });

            var    db = PublishingTestHelper.GetNewDbSessionWithThisRecordAdded(record);
            Action a  = () => GetSignOffPublishingResponse(db, record);

            a.ShouldThrow <InvalidOperationException>().And.Message.Should().Be("Couldn't sign-off record for publication - assessment not completed or out of date");

            var resultRecord = db.Load <Record>(record.Id);

            resultRecord.Publication.Should().NotBeNull();

            var openDataInfo = resultRecord.Publication.OpenData;

            openDataInfo.Should().NotBeNull();
            openDataInfo.LastAttempt.DateUtc.Should().Be(new DateTime(2017, 07, 11));
            openDataInfo.LastSuccess.DateUtc.Should().Be(new DateTime(2017, 07, 11));
            openDataInfo.Resources.Should().BeNull();
            openDataInfo.Paused.Should().BeFalse();
            openDataInfo.SignOff.User.DisplayName.Should().Be("Cathy");
            openDataInfo.SignOff.User.Email.Should().Be("*****@*****.**");
            openDataInfo.SignOff.DateUtc.Should().Be(new DateTime(2017, 07, 10));
            resultRecord.Gemini.MetadataDate.Should().NotBe(openDataInfo.SignOff.DateUtc);
        }