public override PathDescriptor BuildLaunchUrl(ABTestCase abTest, EnvironmentConnection environmentConnection) { var launchConfiguration = _preloaderSetup.GetLaunchConfigurationBuilder(SkinCode); var configData = launchConfiguration.Build(abTest, environmentConnection); return(BuildBaseUrl(abTest) + new PathDescriptor($"bin/application/ViewActual.html?entrancemode=1&navigationplanid=-1&languageid=en&brandid={SkinCode.BrandId}&skinid={SkinCode.SkinId}&isdebugmode=1&isSelectedDebugHost=0&GRSState=LATEST&GRSAdditionalState=LATEST&GRSGameTechnology=DEFAULT&CommunicationType=socketProxy&Environment={environmentConnection.Name}&preloaderSetupPath=preloader_setup.json&configData={configData}")); }
public override PathDescriptor BuildLaunchUrl(ABTestCase abTest, EnvironmentConnection environmentConnection) { string abTestingOverridePathUrlParameter = abTest?.GetOverrideParameterPathUrlParameter(); #warning I might need to do something with languageid parameter //var antiCacheKey = new Random().Next(); //antiCacheKey ={ antiCacheKey}& return(BuildBaseUrl(abTest) + new PathDescriptor($"bin/application/ViewActual.html?navigationplanid=-1&languageid=en&brandid={SkinCode.BrandId}&skinid={SkinCode.SkinId}{abTestingOverridePathUrlParameter}")); }
public string Build(ABTestCase abTest, EnvironmentConnection environmentConnection) { JObject jObject = new JObject(); jObject.Add(new JProperty(nameof(theme), JValue.CreateString(theme))); #warning defaultSkin and languageId are obsolete since 7.42 jObject.Add(new JProperty(nameof(defaultSkin), JValue.CreateString(defaultSkin))); jObject.Add(new JProperty(nameof(languageId), JValue.CreateString(languageId))); jObject.Add(new JProperty(nameof(brand), JValue.CreateString(brand))); jObject.Add(new JProperty(nameof(skin), JValue.CreateString(skin))); jObject.Add(new JProperty(nameof(lang), JValue.CreateString(lang))); foreach (var configurationFile in _configurationFiles) { jObject.Add(CreateConfigurationFileProperty(configurationFile.Key, ApplyAbTestCase(abTest, configurationFile.Value))); } jObject.Add(CreateConfigurationFileProperty("environmentPath", ApplyAbTestCase(abTest, environmentConnection.ConfigurationFilePath))); return(HttpUtility.UrlEncode(jObject.ToString())); }
public IFiddlerOverrideProvider GetSocketsSetupOverrideProvider(BrandEntity brand, SkinEntity skin, EnvironmentConnection environmentConnection) { if (environmentConnection == null) { throw new ArgumentNullException(nameof(environmentConnection)); } var environmentConfigurationFilePath = GetClientUrlBuilder(brand, skin).BuildBaseUrl(null) + environmentConnection.ConfigurationFilePath; return(new JsonSocketsSetupOverrideProvider(environmentConfigurationFilePath, _serviceLocator.GetInstance <IMainProxyAdapter>().Port)); }
public void WorkflowExecuted_Where_ExecutionStatusCallBackRegisteredAndDataListMergeRequested_Expected_DataMergedInAndOutOfWorkflow() { // // Create a reset event which is used to wait for callbacks form the server // ManualResetEventSlim resetEvent = new ManualResetEventSlim(false); // // Setup MEF context // ImportService.CurrentContext = CompositionInitializer.DefaultInitialize(); // // Setup test data // ErrorResultTO errors = new ErrorResultTO(); Guid callBackID = Guid.NewGuid(); string serviceName = "wizardtest"; IBinaryDataList dataList = Dev2BinaryDataListFactory.CreateDataList(); string error; dataList.TryCreateScalarTemplate("", "testvalue", "", true, out error); dataList.TryCreateScalarValue("321", "testvalue", out error); DataListMergeOpsTO dataListMergeOpsTO = new DataListMergeOpsTO(dataList.UID); ServiceLocator serviceLocator = new ServiceLocator(); ImportService.SatisfyImports(serviceLocator); // // Connect to the server // IEnvironmentConnection conn = new EnvironmentConnection(); conn.Address = new Uri(ServerSettings.DsfAddress); conn.Connect(); IEventAggregator eventAggregator = ImportService.GetExportValue<IEventAggregator>(); IFrameworkSecurityContext securityContext = ImportService.GetExportValue<IFrameworkSecurityContext>(); IEnvironmentConnection environmentConnection = ImportService.GetExportValue<IEnvironmentConnection>(); IEnvironmentModel environment = new EnvironmentModel(eventAggregator, securityContext, environmentConnection); environment.EnvironmentConnection = conn; // // Write the datalist to the server over the datalist channel // conn.DataListChannel.WriteDataList(dataList.UID, dataList, errors); // // Add an execution callback, the action of this call back will set the reset event allowing the test to continue // conn.ExecutionChannel.AddExecutionStatusCallback(callBackID, new Action<ExecutionStatusCallbackMessage>(m => { if (m.MessageType == ExecutionStatusCallbackMessageType.CompletedCallback) { resetEvent.Set(); } })); // // Get endpoint to query and make request to server // Uri enpoint = serviceLocator.GetEndpoint(WizardEndpointGenerationStrategyProvider.ServiceWithDataListMergeAndExecutionCallBackKey, new Tuple<string, IEnvironmentModel, DataListMergeOpsTO, Guid>(serviceName, environment, dataListMergeOpsTO, callBackID)); WebRequest wr = WebRequest.Create(enpoint); WebResponse wrsp = wr.GetResponse(); Stream s = wrsp.GetResponseStream(); StreamReader sr = new StreamReader(s); string payload = sr.ReadToEnd(); // // Wait for completed callback // resetEvent.Wait(10000); // // Get datalist from the server // IBinaryDataList resultDataList = conn.DataListChannel.ReadDatalist(dataList.UID, errors); // // Clean up // conn.Disconnect(); IBinaryDataListEntry testValueEntry; resultDataList.TryGetEntry("testvalue", out testValueEntry, out error); IBinaryDataListEntry inValueEntry; resultDataList.TryGetEntry("invalue", out inValueEntry, out error); string expected = "123|321"; string actual = testValueEntry.FetchScalar().TheValue + "|" + inValueEntry.FetchScalar().TheValue; Assert.AreEqual(expected, actual); }
public void WorkflowExecuted_Where_ExecutionStatusCallBackRegisteredAndDataListMergeRequested_Expected_DataMergedInAndOutOfWorkflow() { // // Create a reset event which is used to wait for callbacks form the server // ManualResetEventSlim resetEvent = new ManualResetEventSlim(false); // // Setup MEF context // ImportService.CurrentContext = CompositionInitializer.DefaultInitialize(); // // Setup test data // ErrorResultTO errors = new ErrorResultTO(); Guid callBackID = Guid.NewGuid(); string serviceName = "wizardtest"; IBinaryDataList dataList = Dev2BinaryDataListFactory.CreateDataList(); string error; dataList.TryCreateScalarTemplate("", "testvalue", "", true, out error); dataList.TryCreateScalarValue("321", "testvalue", out error); DataListMergeOpsTO dataListMergeOpsTO = new DataListMergeOpsTO(dataList.UID); ServiceLocator serviceLocator = new ServiceLocator(); ImportService.SatisfyImports(serviceLocator); // // Connect to the server // IEnvironmentConnection conn = new EnvironmentConnection(); conn.Address = new Uri(ServerSettings.DsfAddress); conn.Connect(); IEventAggregator eventAggregator = ImportService.GetExportValue <IEventAggregator>(); IFrameworkSecurityContext securityContext = ImportService.GetExportValue <IFrameworkSecurityContext>(); IEnvironmentConnection environmentConnection = ImportService.GetExportValue <IEnvironmentConnection>(); IEnvironmentModel environment = new EnvironmentModel(eventAggregator, securityContext, environmentConnection); environment.EnvironmentConnection = conn; // // Write the datalist to the server over the datalist channel // conn.DataListChannel.WriteDataList(dataList.UID, dataList, errors); // // Add an execution callback, the action of this call back will set the reset event allowing the test to continue // conn.ExecutionChannel.AddExecutionStatusCallback(callBackID, new Action <ExecutionStatusCallbackMessage>(m => { if (m.MessageType == ExecutionStatusCallbackMessageType.CompletedCallback) { resetEvent.Set(); } })); // // Get endpoint to query and make request to server // Uri enpoint = serviceLocator.GetEndpoint(WizardEndpointGenerationStrategyProvider.ServiceWithDataListMergeAndExecutionCallBackKey, new Tuple <string, IEnvironmentModel, DataListMergeOpsTO, Guid>(serviceName, environment, dataListMergeOpsTO, callBackID)); WebRequest wr = WebRequest.Create(enpoint); WebResponse wrsp = wr.GetResponse(); Stream s = wrsp.GetResponseStream(); StreamReader sr = new StreamReader(s); string payload = sr.ReadToEnd(); // // Wait for completed callback // resetEvent.Wait(10000); // // Get datalist from the server // IBinaryDataList resultDataList = conn.DataListChannel.ReadDatalist(dataList.UID, errors); // // Clean up // conn.Disconnect(); IBinaryDataListEntry testValueEntry; resultDataList.TryGetEntry("testvalue", out testValueEntry, out error); IBinaryDataListEntry inValueEntry; resultDataList.TryGetEntry("invalue", out inValueEntry, out error); string expected = "123|321"; string actual = testValueEntry.FetchScalar().TheValue + "|" + inValueEntry.FetchScalar().TheValue; Assert.AreEqual(expected, actual); }
public IFiddlerOverrideProvider GetSocketsSetupOverrideProvider(BrandEntity brand, SkinEntity skin, EnvironmentConnection environmentConnection) { var clientUrlBuilder = GetClientUrlBuilder(brand, skin); return(new XmlSocketsSetupOverrideProvider(clientUrlBuilder.BuildBaseUrl(null) + new PathDescriptor("setups/socket_setup.xml"), _serviceLocator.GetInstance <IMainProxyAdapter>().Port)); }
public abstract PathDescriptor BuildLaunchUrl(ABTestCase abTest, EnvironmentConnection environmentConnection);
/// <summary> /// 初始化一个新的<c>RmsDbContext</c>实例 /// </summary> /// <param name="nameOrConnectionString">数据库的连接名</param> public RmsDbContext(string nameOrConnectionString) : base(EnvironmentConnection.GetDbConnectionName(nameOrConnectionString)) { }