public static string GetConfigFeature(string configSettingName, TestDataReserve testData, string hostNameKey = "CarBSUri", ConfigSettingType configType = ConfigSettingType.POS) { //create a configuration request data instance ConfigSettingRequestData configSettingRequestData = new ConfigSettingRequestData(hostNameKey, configType); configSettingRequestData.TUID = testData.tuid; string enableValue = null; // get the feature turned value from DB string envKey = ServiceConfigUtil.EnvNameGet(); ///1. mach as EnviromentName and POS's 3 values enableValue = CarBSDB.GetServiceConfig(configSettingName, envKey, testData.JurisdictionCountryCode, testData.CompanyCode, testData.ManagementUnitCode); if (enableValue == null) { ///2. if 1 is null, mach only with EnviromentName enableValue = CarBSDB.GetServiceConfig(configSettingName, envKey); if (enableValue == null) { ///3. if 2 is null, mach as EnviromentName is null enableValue = CarBSDB.GetServiceConfig(configSettingName); if (enableValue == null) { Assert.Fail("No enable feature value for " + configSettingName + "in DB,please check the DB."); } } } return(enableValue); }
// EBL phase 2 : DB check client config or POS config setting value public static void CheckDBConfigSettingValue(ConfigSettingParameter settingPara, string clientID, TestDataReserve testData, bool isUpdateIfNotMatch = false) { /// ClientConfiguration table check with setting name and value if (settingPara.Booking_augmentReservationWithDetails != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.Booking_augmentReservationWithDetails_enable, settingPara.Booking_augmentReservationWithDetails, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } if (settingPara.Reconstruct_useEnhancedBookingLogging != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.Reconstruct_useEnhancedBookingLogging_enable, settingPara.Reconstruct_useEnhancedBookingLogging, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } if (settingPara.GetReservation_cancelledReservations != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.GetReservation_cancelledReservations_enable, settingPara.GetReservation_cancelledReservations, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } /// PoSConfiguration table check with setting name and value if (settingPara.Booking_enhancedBookingLogging != null) { CheckPosConfigFeatureEnable(POSConfigurationSettingName.Booking_enhancedBookingLogging_enable, settingPara.Booking_enhancedBookingLogging, testData, isUpdateIfNotMatch); } //if (settingPara.Reconstruct_suppressCostAndPriceList != null) //{ // CheckPosConfigFeatureEnable(POSConfigurationSettingName.Reconstruct_suppressCostAndPriceList_enable, // settingPara.Reconstruct_suppressCostAndPriceList,testData); //} //if (settingPara.Reconstruct_suppressDownstreamResponseErrors != null) //{ // CheckPosConfigFeatureEnable(POSConfigurationSettingName.Reconstruct_suppressDownstreamResponseErrors_enable, // settingPara.Reconstruct_suppressDownstreamResponseErrors, testData); //} // Update for user story 397920 Migrate POS Config to Client Config -- by v-moliu 11/18/2013 if (settingPara.Reconstruct_suppressCostAndPriceList != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.Reconstruct_suppressCostAndPriceList_enable, settingPara.Reconstruct_suppressCostAndPriceList, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } if (settingPara.Reconstruct_suppressDownstreamResponseErrors != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.Reconstruct_suppressDownstreamResponseErrors_enable, settingPara.Reconstruct_suppressDownstreamResponseErrors, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } // Booking.augmentReservationWithDetails/enable == 1 // Booking.augmentReservationWithDetails.mergeDetailsInResponseReservation/enable = 1 //CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.Booking_augmentReservationWithDetails_enable, // EnableKey.Enable_on, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); //CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.Booking_mergeDetailsInResponseReservation, // EnableKey.Enable_on, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); // Edit by Qiuhua for use story 798400 if (settingPara.PreparePurchase_detectPriceChange != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.PreparePurchase_detectPriceChange_enable, settingPara.PreparePurchase_detectPriceChange, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } if (settingPara.PreparePurchase_detectDownstreamReservePriceChange != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.PreparePurchase_detectDownstreamReservePriceChange_enable, settingPara.PreparePurchase_detectDownstreamReservePriceChange, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } if (settingPara.Booking_mergeDetailsInResponseReservation != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.Booking_mergeDetailsInResponseReservation, settingPara.Booking_mergeDetailsInResponseReservation, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } if (settingPara.PriceChange_totalPriceTolerance != null) { CheckPosConfigFeatureEnable(POSConfigurationSettingName.PriceChange_totalPriceTolerance, settingPara.PriceChange_totalPriceTolerance, testData, isUpdateIfNotMatch); } //Edit by Qiuhua for user story 821816 if (settingPara.CurrencyConversion_useMoneyScale_enable != null) { CheckClientConfigFeatureEnable(clientID, ClientConfigurationSettingName.CurrencyConversion_useMoneyScale_enable, settingPara.CurrencyConversion_useMoneyScale_enable, tuid: testData.tuid, isUpdateIfNotMatch: isUpdateIfNotMatch); } }
// ASCS table - suppierConfig public static void CheckSupplierConfigFeatureEnable(string configSettingName, string expectedvalue, TestDataReserve testData, bool isUpdateIfNotMatch = false) { string enableValue = null; //create a configuration request data instance ConfigSettingRequestData configSettingRequestData = new ConfigSettingRequestData("CarBSUri", ConfigSettingType.Supplier); configSettingRequestData.TUID = testData.tuid; // get the feature turned value from DB string envKey = ConfigurationManager.AppSettings["EnvironmentName"]; uint supplierID = CarsInventory.GetSupplyIDByVendorCode(testData.vendorCode); ConfigurationDBHelper configDb = new ConfigurationDBHelper(CarCommonEnumManager.ServieProvider.Amadeus, ConfigSettingType.Supplier); ///1. mach as EnviromentName and POS's 3 values enableValue = configDb.SettingValueSupplierGet(configSettingName, envKey, supplierID.ToString()); if (enableValue != null) { // set configuration data by expectedValue where configName/envKey/supplierID have values configSettingRequestData.ConfigSettingDataAdd(new ConfigurationSettingData(env: envKey, sName: configSettingName, sValue: expectedvalue , jCode: null, cCode: null, mUnitCode: null, cID: null, sID: supplierID.ToString())); //mach value MachExpectedValueinDB(expectedvalue, enableValue, configSettingName, testData.tuid, isUpdateIfNotMatch, configSettingRequestData); } else { ///2. if 1 is null, mach withthout EnviromentName enableValue = configDb.SettingValueSupplierGet(configSettingName, null, supplierID.ToString()); if (enableValue != null) { // set configuration data by expectedValue where configName/supplierID have values configSettingRequestData.ConfigSettingDataAdd(new ConfigurationSettingData(env: null, sName: configSettingName, sValue: expectedvalue , jCode: null, cCode: null, mUnitCode: null, cID: null, sID: supplierID.ToString())); //mach value MachExpectedValueinDB(expectedvalue, enableValue, configSettingName, testData.tuid, isUpdateIfNotMatch, configSettingRequestData); } else { ///2. if 1 is null, mach withthout EnviromentName enableValue = configDb.SettingValueSupplierGet(configSettingName, null, null); if (enableValue != null) { // set configuration data by expectedValue where configName have values configSettingRequestData.ConfigSettingDataAdd(new ConfigurationSettingData(env: null, sName: configSettingName, sValue: expectedvalue , jCode: null, cCode: null, mUnitCode: null, cID: null, sID: null)); //mach value MachExpectedValueinDB(expectedvalue, enableValue, configSettingName, testData.tuid, isUpdateIfNotMatch, configSettingRequestData); } else { Assert.Fail("No enable feature value for " + configSettingName + "in DB,please check the DB."); } } } }
// Common way to check the POS config setting value public static void CheckPosConfigFeatureEnable(string configSettingName, string expectedvalue, TestDataReserve testData, bool isUpdateIfNotMatch = false) { //create a configuration request data instance ConfigSettingRequestData configSettingRequestData = new ConfigSettingRequestData("CarBSUri", ConfigSettingType.POS); if (testData != null) { configSettingRequestData.TUID = testData.tuid; } string enableValue = null; // get the feature turned value from DB string envKey = ConfigurationManager.AppSettings["EnvironmentName"]; ///1. mach as EnviromentName and POS's 3 values if (testData != null) { enableValue = CarBSDB.GetServiceConfig(configSettingName, envKey, testData.JurisdictionCountryCode, testData.CompanyCode, testData.ManagementUnitCode); } if (enableValue != null) { // set configuration data by expectedValue where configName/envKey/JurisdictionCountryCode/CompanyCode/ManagementUnitCode have values configSettingRequestData.ConfigSettingDataAdd(new ConfigurationSettingData(env: envKey, sName: configSettingName, sValue: expectedvalue , jCode: testData.JurisdictionCountryCode, cCode: testData.CompanyCode, mUnitCode: testData.ManagementUnitCode, cID: null, sID: null)); //mach value MachExpectedValueinDB(expectedvalue, enableValue, configSettingName, testData.tuid, isUpdateIfNotMatch, configSettingRequestData); } else { ///2. if 1 is null, mach only with EnviromentName enableValue = CarBSDB.GetServiceConfig(configSettingName, envKey); if (enableValue != null) { // set configuration data by expectedValue where configName/envKey have values configSettingRequestData.ConfigSettingDataAdd(new ConfigurationSettingData(env: envKey, sName: configSettingName, sValue: expectedvalue , jCode: null, cCode: null, mUnitCode: null, cID: null, sID: null)); //mach value MachExpectedValueinDB(expectedvalue, enableValue, configSettingName, testData.tuid, isUpdateIfNotMatch, configSettingRequestData); } else { ///3. if 2 is null, mach as EnviromentName is null enableValue = CarBSDB.GetServiceConfig(configSettingName); if (enableValue != null) { // set configuration data by expectedValue where configNam have value configSettingRequestData.ConfigSettingDataAdd(new ConfigurationSettingData(env: null, sName: configSettingName, sValue: expectedvalue , jCode: null, cCode: null, mUnitCode: null, cID: null, sID: null)); //mach value MachExpectedValueinDB(expectedvalue, enableValue, configSettingName, testData.tuid, isUpdateIfNotMatch, configSettingRequestData); } else { Assert.Fail("No enable feature value for " + configSettingName + "in DB,please check the DB."); } } } }