Ejemplo n.º 1
0
        //Get config/flushHostList based on env
        public static string GetFlushHostList()
        {
            //Get the environmnet form WSCS URL, E.g: stt03
            String env = ServiceConfigUtil.EnvNameGet();//GetEnvFromAPPConfig();

            //select SettingValue from PoSConfiguration where JurisdictionCode = 'USA' and CompanyCode = '10111' and ManagementUnitCode = '1010'
            //and SettingName = 'Search.maxLatLongLocationCount' and EnvironmentName = 'stt03'
            string flushHoteList            = "";
            string database                 = GetDatabaseFromConnectionString(connectionString);
            string jurisdictionCodeString   = " is NULL";
            string companyCodeString        = " is NULL";
            string managementUnitCodeString = " is NULL";

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                SqlCommand cmd = conn.CreateCommand();
                conn.Open();
                cmd.CommandText = string.Format("select SettingValue from PoSConfiguration where JurisdictionCode {0} and CompanyCode {1} and ManagementUnitCode {2} " +
                                                " and SettingName = 'config/flushHostList' and EnvironmentName = '{3}'", jurisdictionCodeString, companyCodeString, managementUnitCodeString, env);
                //cmd.CommandText = string.Format("select SettingValue from PoSConfiguration where JurisdictionCode = '{0}' and CompanyCode = '{1}' and ManagementUnitCode = '{2}' " +
                //    " and SettingName = 'TravServer.BeanName' and EnvironmentName = '{3}'", jurisdictionCode, companyCode, managementUnitCode, env);
                cmd.CommandTimeout = 0;

                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    flushHoteList = reader["SettingValue"].ToString();
                }
                conn.Close();
            }
            return(flushHoteList);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        //Get CarsBooking config setting based on POS
        public static string GetCarsBookingBeanBasedOnPOS(String jurisdictionCode, String companyCode, String managementUnitCode)
        {
            //Get the environmnet form WSCS URL, E.g: stt03
            String env = ServiceConfigUtil.EnvNameGet();// GetEnvFromAPPConfig();

            //select SettingValue from PoSConfiguration where JurisdictionCode = 'USA' and CompanyCode = '10111' and ManagementUnitCode = '1010'
            //and SettingName = 'DIR.address' and EnvironmentName = 'stt03'
            string carsBookingBean = "";
            string database        = GetDatabaseFromConnectionString(connectionString);
            string jurisdictionCodeString;

            if (jurisdictionCode == null)
            {
                jurisdictionCodeString = " is NULL";
            }
            else
            {
                jurisdictionCodeString = " = '" + jurisdictionCode + "'";
            }
            string companyCodeString = "";

            if (companyCode == null)
            {
                companyCodeString = " is NULL";
            }
            else
            {
                companyCodeString = " = '" + companyCode + "'";
            }
            string managementUnitCodeString = "";

            if (managementUnitCode == null)
            {
                managementUnitCodeString = " is NULL";
            }
            else
            {
                managementUnitCodeString = " = '" + managementUnitCode + "'";
            }

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                SqlCommand cmd = conn.CreateCommand();
                conn.Open();
                cmd.CommandText = string.Format("select SettingValue from PoSConfiguration where JurisdictionCode {0} and CompanyCode {1} and ManagementUnitCode {2} " +
                                                " and SettingName = 'CarsBooking.BeanName' and EnvironmentName = '{3}'", jurisdictionCodeString, companyCodeString, managementUnitCodeString, env);
                //cmd.CommandText = string.Format("select SettingValue from PoSConfiguration where JurisdictionCode = '{0}' and CompanyCode = '{1}' and ManagementUnitCode = '{2}' " +
                //    " and SettingName = 'CarsBooking.BeanName' and EnvironmentName = '{3}'", jurisdictionCode, companyCode, managementUnitCode, env);
                cmd.CommandTimeout = 0;

                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    carsBookingBean = reader["SettingValue"].ToString();
                }
                conn.Close();
            }
            return(carsBookingBean);
        }
Ejemplo n.º 4
0
        public static string GetfailBookingOnMerchantDetailsFailure()
        {
            String env   = ServiceConfigUtil.EnvNameGet();//GetEnvFromAPPConfig();
            string value = null;

            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                SqlCommand cmd = conn.CreateCommand();
                conn.Open();
                cmd.CommandText = "select SettingValue from PoSConfiguration where SettingName = 'Booking.augmentReservationWithDetails/enable/failBookingOnMerchantDetailsFailure' and EnvironmentName = '"
                                  + env + "'";

                cmd.CommandTimeout = 0;

                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    value = reader[0].ToString();
                }
                conn.Close();
            }
            if (value == null)
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    SqlCommand cmd = conn.CreateCommand();
                    conn.Open();
                    cmd.CommandText = "select SettingValue from PoSConfiguration where SettingName = 'Booking.augmentReservationWithDetails/enable/failBookingOnMerchantDetailsFailure' and EnvironmentName is NULL";

                    cmd.CommandTimeout = 0;

                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        value = reader[0].ToString();
                    }
                    conn.Close();
                }
            }
            if (value == null)
            {
                value = "0";
            }
            return(value);
        }
Ejemplo n.º 5
0
        //We need to get the correct connect string to support Int testing - different TravServer in EU and NA
        public static string getConnectString(int tpid)
        {
            string connString = "";

            //Get TravServer config if exist
            if (null != ConfigurationManager.ConnectionStrings["TravServer"])
            {
                connString = ConfigurationManager.ConnectionStrings["TravServer"].ConnectionString;
            }

            //Get POS from tpid
            List <PointOfSaleKey> poses = CarsInventory.getPointOfSaleRecord(tpid);
            //Get travServer beanName based on POS
            string travSBeanName = ServiceConfigUtil.getCarBSConfig(ServiceConfigSettingName.TravServe_BeanName, poses[0]);

            //Get travServer name based on bean name
            if (travSBeanName.Contains("US"))
            {
                //Get TravServerUS config if exist
                if (null != ConfigurationManager.ConnectionStrings["TravServerUS"])
                {
                    connString = ConfigurationManager.ConnectionStrings["TravServerUS"].ConnectionString;
                }
                //If no TravServerUS and TravServer configed, throw an exception
                if (connString.Length == 0)
                {
                    throw new Exception("Please make sure TravServer or TravServerUS is congied for NA POS!");
                }
            }
            else if (travSBeanName.Contains("EU"))
            {
                if (null != ConfigurationManager.ConnectionStrings["TravServerEU"])
                {
                    connString = ConfigurationManager.ConnectionStrings["TravServerEU"].ConnectionString;
                }
                //If no TravServerEU and TravServer configed, throw an exception
                if (connString.Length == 0)
                {
                    throw new Exception("Please make sure TravServer or TravServerEU is congied for EU POS!");
                }
            }

            return(connString);
        }
Ejemplo n.º 6
0
        public static String BuildUpdateURL(String settingName, String settingValue)
        {
            //Get the WSCSURL from app settings(E.g: http://chelcarjvafc01:52048/stt03.com-expedia-s3-cars-supplyconnectivity-worldspan.urn:com:expedia:s3:cars:supplyconnectivity:interface:v4" />)
            String uri = CarConfigurationManager.AppSetting("CarBSUri");;

            //Get the environmnet form WSCS URL, E.g: stt03
            String env = ServiceConfigUtil.EnvNameGet();//GetEnvFromAPPConfig();

            uri = "http://" + uri.Substring(7).Split('/')[0] + "/config/set?&environment=" + env;

            uri = uri + "&settingName=" + settingName + "&value=" + settingValue + "&updatedBy=CarBSServiceAutomationTest&flushAll=1";

            ////Combine the URL for service setting config
            //uri = "http://" + uri.Substring(7).Split('/')[0] + "/config/set?&environment=" + env + "&companyCode=" + companyCode + "&managementUnitCode="
            //    + managementUnitCode + "&jurisdictionCode=" + jurisdictionCode + "&settingName=" + settingName + "&value=" + settingValue
            //    + "&updatedBy=CarBSServiceAutomationTest&flushAll=1";

            return(uri);
        }
        public static ResponseT send <RequestT, ResponseT>(RequestT reqObj, CommunicationInformation commInfo, uint tuid = 0, bool replaceFlag = false)
        {
            if (reqObj == null)
            {
                throw new ArgumentNullException("reqObj is null.");
            }

            if (commInfo == null)
            {
                throw new ArgumentNullException("commInfo is null.");
            }

            MemoryStream msReq = null;
            MemoryStream msRsp = null;

            // for Sprunk to show message with
            if (NeedPrintMessageToConsole)
            {
                Console.WriteLine("Run Test case on Server :" + commInfo.URI);
                Console.Error.WriteLine("Now Run Test case on Server :" + commInfo.URI);
                Console.WriteLine("-----------Request:-----------");
                Print.PrintMessageToConsole(reqObj);
            }

            // Serialize Request [obj] to [objXML]
            msReq = XMLSerializer.Serialize(reqObj, typeof(RequestT));

            // Attach Protocol [objXML] to [Hdr + objXML]
            msReq = MessageProtocol.AttachProtocol(msReq, commInfo);

            // Serialize Request [Hdr + objXML] to [FI[Hdr + objXML]]
            msReq = MessageFormat.Serialize(msReq, commInfo.ContentType);

            // Encode Request [FI[Hdr + objXML]] to [GZip[FI[Hdr + objXML]]]
            msReq = MessageEncodeDecode.Encode(msReq, commInfo.ContentEncoding.ToString());

            // Send/Recv Request/Response
            if (NeedPrintMessageToConsole)
            {
                Console.WriteLine(string.Format("-----------Begin to send request to service, transport encoding is {0}: -----------", commInfo.ContentType.ToString()));
            }
            // It's just for spoofer
            if (Convert.ToBoolean(CarConfigurationManager.AppSetting("NeedSpoofer")) == true)
            {
                if (tuid > 0)
                {
                    commInfo.TestCaseID = tuid;
                    if (NeedPrintMessageToConsole)
                    {
                        Console.WriteLine("TUID from parameter:" + tuid + "!");
                    }
                }
                else
                {
                    commInfo.TestCaseID = CarCommonRequestGenerator.getTUIDFromRequest(reqObj);
                    {
                        if (commInfo.TestCaseID == 0)
                        {
                            Console.WriteLine("TUID can't be get from request object!");
                        }
                        else
                        {
                            Console.WriteLine("TUID from request object:" + commInfo.TestCaseID + "!");
                        }
                    }
                }
            }
            else
            {
                if (NeedPrintMessageToConsole)
                {
                    Console.WriteLine("Spoofer is off, no testcaseID get!");
                }
            }
            ResponseT       rspobj          = default(ResponseT);
            string          statusCode      = "";
            HttpWebResponse httpWebResponse = SendReqAndRecvResp(msReq, commInfo, typeof(RequestT).Name);

            if (null != httpWebResponse)
            {
                statusCode = httpWebResponse.StatusCode.ToString();
            }

            MemoryStream msRspReturn = CommunicationUtil.StreamToMemoryStream(httpWebResponse.GetResponseStream());

            if (msRspReturn == null || msRspReturn.Length == 0)
            {
                throw new Exception("Response is empty or Null, please check.");
            }
            else
            {
                // Decode Response [GZip[FI[Hdr + objXML]]] to [FI[Hdr + objXML]]
                msRspReturn = MessageEncodeDecode.Decode(msRspReturn, httpWebResponse.ContentEncoding);

                // DeSerialize Response [FI[Hdr + objXML]] to [Hdr + objXML]
                msRspReturn = MessageFormat.Deserialize(msRspReturn, commInfo.ContentType);

                // Detach Protocol [Hdr + objXML] to [objXML]
                msRspReturn = MessageProtocol.DetachProtocol(msRspReturn, commInfo.MessageProtocol);

                msRsp = msRspReturn;
                // handle aws namespace issue
                if (replaceFlag)
                {
                    string siteName = ServiceConfigUtil.CarProductTokenUriGet();
                    if (siteName.Contains("cars-business-service"))
                    {
                        string responseStr = System.Text.Encoding.GetEncoding(httpWebResponse.CharacterSet).GetString(msRspReturn.ToArray());
                        responseStr = responseStr.Replace("urn:com", "urn");
                        XmlDocument rspXml = new XmlDocument();
                        rspXml.LoadXml(responseStr);
                        msRsp = CommunicationUtil.ConvertXmlDocumentToMemoryStream(rspXml);
                    }
                }

                // Deserialize Response [objXML] to [obj]
                rspobj = (ResponseT)XMLSerializer.DeSerialize(msRsp, typeof(ResponseT));
                if (NeedPrintMessageToConsole)
                {
                    Console.WriteLine("-----------Response:-----------");
                    Print.PrintMessageToConsole(rspobj);
                }
            }
            return(rspobj);
        }