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)); } }
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); }
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. }
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); }
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)); }
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); }
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 ); }
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 ); } }
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(); }
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)); } }
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})"); } }
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); }