コード例 #1
0
        public async Task ClinicalStudiesRequest_can_format_a_response()
        {
            _httpTest.RespondWith(
                new StringContent(@"<ODM FileType=""Snapshot"" FileOID="" CreationDateTime="" ODMVersion=""1.3""
                    xmlns:mdsol=""http://www.mdsol.com/ns/odm/metadata"" xmlns=""http://www.cdisc.org/ns/odm/v1.3"">
                     <Study OID=""Lab Test"">
                       <GlobalVariables>
                          <StudyName>Lab Test</StudyName>
                          <StudyDescription />
                          <ProtocolName>Lab Test</ProtocolName>
                       </GlobalVariables>
                     </Study>
                     <Study OID=""Mediflex"">
                       <GlobalVariables>
                          <StudyName>Mediflex</StudyName>
                          <StudyDescription />
                          <ProtocolName>Mediflex</ProtocolName>
                       </GlobalVariables>
                     </Study>
                    </ODM>", Encoding.UTF8, "text/xml"));

            var rwsConnection = new RwsConnection("innovate", "test", "password");
            var request       = new ClinicalStudiesRequest();
            var result        = await rwsConnection.SendRequestAsync(request) as RwsStudies;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RwsStudies));

            var studies = new[] { "Lab Test", "Mediflex" };

            foreach (var study in result)
            {
                Assert.IsTrue(studies.Contains(study.Oid));
            }
        }
コード例 #2
0
 public void SetUp()
 {
     _subdomain   = Env.Get("MEDIDATA_RAVE_DOMAIN");
     _rwsUsername = Env.Get("MEDIDATA_RAVE_USER");
     _rwsPassword = Env.Get("MEDIDATA_RAVE_PASSWORD");
     _connection  = new RwsConnection(_subdomain, _rwsUsername, _rwsPassword);
 }
コード例 #3
0
        public void ODMAdapter_can_be_successfully_instantiated()
        {
            var conn = new RwsConnection("innovate", "fakeuser", "fakepass");

            var odm = new OdmAdapter(conn, new AuditEventParser(), "FAKESTUDY", "DEV3 LabTest");

            //no exceptions means we pass.
        }
コード例 #4
0
        public async Task RwsConnection_can_get_details_about_the_request_time()
        {
            var rwsConnection = new RwsConnection("innovate", "test", "password");

            await rwsConnection.SendRequestAsync(new FakeRwsRequest());

            Assert.IsNotNull(rwsConnection.RequestTime);
        }
コード例 #5
0
        public async Task VersionRequest_can_decode_a_text_responseAsync()
        {
            var _httpTest  = new HttpTest();
            var connection = new RwsConnection("innovate");
            var version    = await connection.SendRequestAsync(new VersionRequest());

            _httpTest.Dispose();
            Assert.IsInstanceOfType(version, typeof(RwsTextResponse));
        }
コード例 #6
0
        public async Task RwsConnection_can_get_details_about_the_last_result()
        {
            var rwsConnection = new RwsConnection("innovate", "test", "password");

            await rwsConnection.SendRequestAsync(new FakeRwsRequest());

            Assert.IsNotNull(rwsConnection.LastResult);
            Assert.AreEqual(HttpStatusCode.OK, rwsConnection.LastResult.StatusCode);
        }
コード例 #7
0
        public async Task RwsConnection_can_build_the_proper_URL_from_a_request()
        {
            var rwsConnection = new RwsConnection("innovate", "test", "password");

            await rwsConnection.SendRequestAsync(new FakeRwsRequest());

            Assert.AreEqual(
                "https://innovate.mdsol.com/RaveWebServices/fakepath",
                rwsConnection.LastResult.RequestMessage.RequestUri.AbsoluteUri
                );
        }
コード例 #8
0
        public async Task RwsConnection_raises_an_exception_if_timeout_occurs()
        {
            var rwsConnection = new RwsConnection("innovate", "test", "password");

            _httpTest.SimulateTimeout();

            try {
                await rwsConnection.SendRequestAsync(new FakeRwsRequest());
            } catch (RwsException ex)
            {
                Assert.AreEqual(
                    "Connection timeout for https://innovate.mdsol.com/RaveWebServices/fakepath",
                    ex.Message
                    );
            }
        }
コード例 #9
0
        public async Task StudySubjectsRequest_correctly_parses_response()
        {
            var httpTest = new HttpTest();

            httpTest.RespondWith(
                @"<ODM FileType=""Snapshot"" FileOID=""767a1f8b-7b72-4d12-adbe-37d4d62ba75e""
                         CreationDateTime=""2013-04-08T10:02:17.781-00:00""
                         ODMVersion=""1.3""
                         xmlns:mdsol=""http://www.mdsol.com/ns/odm/metadata""
                         xmlns:xlink=""http://www.w3.org/1999/xlink""
                         xmlns=""http://www.cdisc.org/ns/odm/v1.3"">
                 <ClinicalData StudyOID=""FakeItTillYaMakeIt(Dev)"" MetaDataVersionOID=""1111"">
                    <SubjectData SubjectKey=""000002"">
                       <SiteRef LocationOID=""101""/>
                    </SubjectData>
                 </ClinicalData>
                 <ClinicalData StudyOID=""FakeItTillYaMakeIt(Dev)"" MetaDataVersionOID=""1111"">
                     <SubjectData SubjectKey=""000003"">
                        <SiteRef LocationOID=""6""/>
                     </SubjectData>
                 </ClinicalData>
                 <ClinicalData StudyOID=""FakeItTillYaMakeIt(Dev)"" MetaDataVersionOID=""1111"">
                     <SubjectData SubjectKey=""EC82F1AB-D463-4930-841D-36FC865E63B2"" mdsol:SubjectName=""1"" mdsol:SubjectKeyType=""SubjectUUID"">
                        <SiteRef LocationOID=""6""/>
                     </SubjectData>
                 </ClinicalData>
            </ODM>");

            var connection = new RwsConnection("innovate", "test", "pw");
            var request    = new StudySubjectsRequest(ProjectName, Environment);
            var response   = await connection.SendRequestAsync(request) as RwsSubjects;

            Assert.IsInstanceOfType(response, typeof(RwsSubjects));

            var subjectNames = new string[] { "000002", "000003", "1" };

            foreach (var subject in response)
            {
                Assert.IsInstanceOfType(subject, typeof(RwsSubjectListItem));
                Assert.IsTrue(subjectNames.Contains(subject.SubjectName));
            }

            httpTest.Dispose();
        }
コード例 #10
0
        public async Task StudyVersionsRequest_can_format_a_response()
        {
            _httpTest.RespondWith(
                @"<ODM ODMVersion=""1.3"" Granularity=""Metadata"" FileType=""Snapshot""
                FileOID=""d26b4d33-376d-4037-9747-684411190179""
                CreationDateTime=""2013-04-08T01:29:13""
                xmlns=""http://www.cdisc.org/ns/odm/v1.3""
                xmlns:mdsol=""http://www.mdsol.com/ns/odm/metadata"">
                    <Study OID=""Mediflex"">
                        <GlobalVariables>
                            <StudyName>Mediflex</StudyName>
                            <StudyDescription></StudyDescription>
                            <ProtocolName>Mediflex</ProtocolName>
                        </GlobalVariables>
                        <MetaDataVersion OID=""1213"" Name=""1.0_DRAFT"" />
                        <MetaDataVersion OID=""1194"" Name=""CF_TEST_DRAFT1"" />
                        <MetaDataVersion OID=""1164"" Name=""Initial"" />
                    </Study>
                </ODM>"
                );

            var rwsConnection = new RwsConnection("innovate", "test", "password");
            var request       = new StudyVersionsRequest("Mediflex(Dev)");
            var result        = await rwsConnection.SendRequestAsync(request) as RwsStudyMetadataVersions;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RwsStudyMetadataVersions));
            Assert.AreEqual(result.Study.Oid, "Mediflex");

            var versionOids  = new[] { "1213", "1194", "1164" };
            var versionNames = new[] { "1.0_DRAFT", "CF_TEST_DRAFT1", "Initial" };

            foreach (var version in result)
            {
                Assert.IsTrue(versionOids.Contains(version.OID));
                Assert.IsTrue(versionNames.Contains(version.Name));
            }
        }
コード例 #11
0
        public async Task MetadataStudiesRequest_can_format_a_response()
        {
            _httpTest.RespondWith(
                new StringContent(@"<?xml version=""1.0"" encoding=""utf-8""?>
                <ODM ODMVersion=""1.3"" Granularity=""Metadata"" FileType=""Snapshot"" FileOID=""d5457ec2-feee-4a0f-88c1-fbedc391974b"" CreationDateTime=""2018-06-20T12:02:50"" xmlns=""http://www.cdisc.org/ns/odm/v1.3"" xmlns:mdsol=""http://www.mdsol.com/ns/odm/metadata"">
                    <Study OID=""Lab Test(Dev)"">
                        <GlobalVariables>
                            <StudyName>Lab Test(Dev)</StudyName>
                            <StudyDescription></StudyDescription>
                            <ProtocolName>Lab Test</ProtocolName>
                        </GlobalVariables>
                    </Study>
                    <Study OID=""Mediflex(Prod)"">
                        <GlobalVariables>
                            <StudyName>Mediflex(Prod)</StudyName>
                            <StudyDescription></StudyDescription>
                            <ProtocolName>Mediflex</ProtocolName>
                        </GlobalVariables>
                    </Study>
                </ODM>", Encoding.UTF8, "text/xml"));

            var rwsConnection = new RwsConnection("innovate", "test", "password");
            var request       = new MetadataStudiesRequest();
            var result        = await rwsConnection.SendRequestAsync(request) as RwsStudies;

            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(RwsStudies));

            var studies      = new[] { "Lab Test(Dev)", "Mediflex(Prod)" };
            var environments = new[] { "Dev", "Prod" };

            foreach (var study in result)
            {
                Assert.IsTrue(studies.Contains(study.Oid));
                Assert.IsTrue(environments.Contains(study.Environment),
                              $"Unexpected environment ({study.Environment})");
            }
        }
コード例 #12
0
        public async Task PostMetaDataRequestTest_result_can_be_parsed()
        {
            _httpTest.RespondWith(
                @"<Response ReferenceNumber=""82e942b0-48e8-4cf4-b299-51e2b6a89a1b""
              InboundODMFileOID=""""
              IsTransactionSuccessful=""1""
              SuccessStatistics=""Rave objects touched: Subjects=1; Folders=2; Forms=3; Fields=4; LogLines=5"" NewRecords=""6""
              DraftImported=""7"">
            </Response>");

            var rwsConnection = new RwsConnection("innovate", "test", "password");
            var request       = new PostMetadataRequest("Mediflex(Dev)", "test data");
            var result        = await rwsConnection.SendRequestAsync(request) as RwsPostResponse;

            Assert.IsInstanceOfType(result, typeof(RwsPostResponse));
            Assert.AreEqual(result.SubjectsTouched, 1);
            Assert.AreEqual(result.FoldersTouched, 2);
            Assert.AreEqual(result.FormsTouched, 3);
            Assert.AreEqual(result.FieldsTouched, 4);
            Assert.AreEqual(result.LogLinesTouched, 5);
            Assert.AreEqual(result.NewRecords, "6");
            Assert.AreEqual(result.DraftImported, "7");
        }
 public void InitRwsConn()
 {
     defaultSecurityProtocolType = ServicePointManager.SecurityProtocol;
     rws = new RwsConnection(MEDIDATA_RAVE_TLS_TEST_SITE);
 }