Пример #1
0
        public void Fact9PackageProfileStudentVsEconomy()
        {
            PackageSearchProfile.RootObject packageSearchProfile = new PackageSearchProfile.RootObject();
            PackageSearchProfile            profile = new PackageSearchProfile();
            var    student          = profile.Student();
            var    economy          = profile.Economy();
            ID_nom pp               = new ID_nom();
            var    resultstudentID  = program.Post_zapros("https://apitest.suntigo.com/api/1/package/search", student, pp);
            var    result2economyID = program.Post_zapros("https://apitest.suntigo.com/api/1/package/search", economy, pp);

            var resultstudent  = program.Get <PackageResultsProfile.RootObject>("https://apitest.suntigo.com/api/1/package/results", "RequestId", resultstudentID.requestId, "Language", "English");
            var result2economy = program.Get <PackageResultsProfile.RootObject>("https://apitest.suntigo.com/api/1/package/results", "RequestId", result2economyID.requestId, "Language", "English");

            Assert.True(!program.EqualsResults(resultstudent, result2economy));
        }
Пример #2
0
        public void Fact9PackageProfileEconomyPlusVsVIP()
        {
            PackageSearchProfile.RootObject packageSearchProfile = new PackageSearchProfile.RootObject();
            PackageSearchProfile            profile = new PackageSearchProfile();
            var    economyPlus         = profile.EconomyPlus();
            var    vip                 = profile.VIP();
            ID_nom pp                  = new ID_nom();
            var    resulteconomyPlusID = program.Post_zapros("https://apitest.suntigo.com/api/1/package/search", economyPlus, pp);
            var    result2VIPID        = program.Post_zapros("https://apitest.suntigo.com/api/1/package/search", vip, pp);

            var resulteconomyPlus = program.Get <PackageResultsProfile.RootObject>("https://apitest.suntigo.com/api/1/package/results", "RequestId", resulteconomyPlusID.requestId, "Language", "English");
            var result2VIP        = program.Get <PackageResultsProfile.RootObject>("https://apitest.suntigo.com/api/1/package/results", "RequestId", result2VIPID.requestId, "Language", "English");

            Assert.True(!program.EqualsResults(resulteconomyPlus, result2VIP));
        }
Пример #3
0
        /// <summary>
        /// этот метод подходит для POST запроса в Flicht, Package, train/search
        /// не подходит для bus запроса - ответ другой, запрос другие параметры. подумать над обработкой для автобуса
        /// </summary>
        /// <param name="zapros_post_URI"></param>
        /// <param name="parametr_origin"></param>
        /// <param name="parametr_destination"></param>
        /// <param name="parametr_date"></param>
        /// <param name="parametr_destinationAirportCode"></param>
        /// <param name="parametr_adults"></param>
        /// <param name="parametr_kids"></param>
        /// <param name="parametr_infants"></param>
        /// <param name="parametr_searchProfile"></param>
        /// <returns></returns>
        //параметры для пост запроса в флайтах
        //обязательно первые три параметра для вызыва данного метода
        //можно заменить на тип рутобжикт, но то же самое
        public Int64 Post_F_P_BS_T(string zapros_post_URI, Int64 parametr_origin, Int64 parametr_destination, DateTime parametr_date, string parametr_destinationAirportCode = "t", int parametr_adults = 2, int parametr_kids = 0, int parametr_infants = 0)
        {
            // создаем запрос, посман
            RootObject post_v_flicht = new RootObject();
            Route      route         = new Route();
            Route      route_2       = new Route();

            //post_v_flicht.routes = rout
            route.origin                 = parametr_origin;
            route.destination            = parametr_destination;
            route.destinationAirportCode = parametr_destinationAirportCode;
            route.date = parametr_date;

            route_2.origin                 = parametr_destination;
            route_2.destination            = parametr_origin;
            route_2.destinationAirportCode = route_2.destination.ToString();
            //плюс два дня, отбытия через два дня
            route_2.date = parametr_date.AddDays(2);

            post_v_flicht.adults  = parametr_adults;
            post_v_flicht.kids    = parametr_kids;
            post_v_flicht.infants = parametr_infants;
            //post_v_flicht.searchProfile = parametr_searchProfile;
            post_v_flicht.routes = new List <Route>();

            post_v_flicht.routes.Add(route);
            post_v_flicht.routes.Add(route_2);

            //память для вставки в жейсон
            MemoryStream stream1 = new MemoryStream();

            //сериализовали в джейсон, но он пуст
            DataContractJsonSerializer zapros_POST_Flicht = new DataContractJsonSerializer(typeof(RootObject));

            //заполняем жейсон
            zapros_POST_Flicht.WriteObject(stream1, post_v_flicht);

            stream1.Position = 0;
            StreamReader sr  = new StreamReader(stream1);
            string       sss = sr.ReadToEnd();

            //создаем запрос по юрл
            HttpWebRequest http_flicht = (HttpWebRequest)WebRequest.Create(zapros_post_URI);

            http_flicht.Method      = "POST";
            http_flicht.ContentType = "application/json";

            ASCIIEncoding aSCII = new ASCIIEncoding();

            //152 строка изменена
            byte[] byte1 = aSCII.GetBytes(sss);

            //для чего это строка? вроде как для распределении памяти
            http_flicht.ContentLength = byte1.Length;

            //создаем поток с запросом
            Stream stream = http_flicht.GetRequestStream();

            //в поток записываем байты
            stream.Write(byte1, 0, byte1.Length);
            //получаем ответ

            // try
            //{
            var httpResponse = http_flicht.GetResponse();

            //ответ в поток
            var responseStream = httpResponse.GetResponseStream();

            //записать поток в чтение
            var reader = new StreamReader(responseStream);
            //что прочли в строку

            string response = reader.ReadToEnd();

            ID_nom p = JsonConvert.DeserializeObject <ID_nom>(response);

            //написать проверку на ответ, должен прийти флайт реквест
            Console.WriteLine(response);
            bool post_flight_otvet = response != null;

            return(p.requestId);
            //}
            //catch (WebException rt)
            //{
            //    Console.WriteLine(rt.Message);
            //    Stream qweqwe = rt.Response.GetResponseStream();
            //    StreamReader streamReaderqweqe = new StreamReader(qweqwe);
            //    string qwe = streamReaderqweqe.ReadToEnd();
            //    Console.WriteLine(qwe);
            //    return 0;
            //}
        }
Пример #4
0
        public void Fact9PackageProfileStudentVsVip()
        {
            //TrainProfile.RootObject zapros = new TrainProfile.RootObject();
            //zapros.adults = 2;
            //zapros.routes[0].origin = 1;
            //zapros.routes[0].destination = 2;
            //zapros.routes[0].destinationAirportCode = ""; 12

            //zapros.routes[1].origin = 1;
            //zapros.routes[1].destination = 2;
            //zapros.routes[1].destinationAirportCode = "";

            //zapros.profile.
            ID_nom p = new ID_nom();

            //var otvetTrainProfile = program.Post_zapros("https://apitest.suntigo.com/api/1/package/search", zapros, p);



            //нужно сравнить два объекта при разных запросах в профиле и сравнить полученный результат1
            //создать и заполнить объект
            PackageSearchProfile.RootObject packageSearchProfile = new PackageSearchProfile.RootObject();

            packageSearchProfile.adults = 2;
            packageSearchProfile.routes = new List <PackageSearchProfile.Route>();

            PackageSearchProfile.Route routePackage  = new PackageSearchProfile.Route();
            PackageSearchProfile.Route routePackage2 = new PackageSearchProfile.Route();

            routePackage.origin                 = 2395;
            routePackage.destination            = 513;
            routePackage.destinationAirportCode = routePackage.destination.ToString();

            routePackage.date                    = program.Friday_Sunday(dateTime).ToString();
            routePackage2.date                   = program.Friday_Sunday(dateTime).AddDays(2).ToString();
            routePackage2.origin                 = 513;
            routePackage2.destination            = 2395;
            routePackage2.destinationAirportCode = routePackage2.destination.ToString();
            packageSearchProfile.routes.Add(routePackage);
            packageSearchProfile.routes.Add(routePackage2);
            //руты заполнены

            //тип студент 123
            PackageSearchProfile.TicketProfile ticketProfileOne = new PackageSearchProfile.TicketProfile();
            ticketProfileOne.serviceClass = "E";
            ticketProfileOne.stops        = "0,4";
            List <int> mastransportTypes = new List <int>();

            mastransportTypes.Add(1);
            mastransportTypes.Add(2);
            mastransportTypes.Add(3);
            ticketProfileOne.transportTypes = mastransportTypes; // тот же лист, должен встать, как по маслу
            //тикет профаил заполнен
            packageSearchProfile.ticketProfile = ticketProfileOne;

            PackageSearchProfile.HotelProfile hotelProfile = new PackageSearchProfile.HotelProfile();


            hotelProfile.freeCancellation = false;
            List <string> hoteltyp = new List <string>();

            hoteltyp.Add("hotel");
            hoteltyp.Add("hostel");
            hoteltyp.Add("apartment");
            hoteltyp.Add("mini-hotel");
            hotelProfile.hotelTypes = hoteltyp;
            //хотел типс заполнен
            //милсы нуль132

            List <string> stars = new List <string>();

            stars.Add("1");
            stars.Add("2");
            stars.Add("3");
            hotelProfile.stars  = stars;
            hotelProfile.rating = "5,8";

            packageSearchProfile.hotelProfile = hotelProfile;
            //используется та же ссылка packageSearchProfile внутри дальше меняем только профайлы если строку сместить вниз будет ошибка
            ID_nom pp = new ID_nom();
            var    otvetPackageProfile = program.Post_zapros("https://apitest.suntigo.com/api/1/package/search", packageSearchProfile, pp);

            PackageSearchProfile.TicketProfile ticketProfile2 = new PackageSearchProfile.TicketProfile();
            ticketProfile2.serviceClass   = "B";
            ticketProfile2.stops          = "0,1";
            ticketProfile2.transportTypes = mastransportTypes;

            PackageSearchProfile.HotelProfile hotelProfile2 = new PackageSearchProfile.HotelProfile();
            List <string> hoteltyp2 = new List <string>();

            hoteltyp2.Add("hotel");
            hoteltyp2.Add("apartment");
            hotelProfile2.hotelTypes = hoteltyp2;

            List <string> stars2 = new List <string>();

            stars2.Add("4");
            stars2.Add("5");

            hotelProfile2.stars  = stars2;
            hotelProfile2.rating = "7,10";

            packageSearchProfile.ticketProfile = ticketProfile2;
            packageSearchProfile.hotelProfile  = hotelProfile2;

            var otvetPackageProfile2 = program.Post_zapros("https://apitest.suntigo.com/api/1/package/search", packageSearchProfile, pp);

            //PackageResultsProfile.RootObject resVersion1 = new PackageResultsProfile.RootObject();

            var res = program.Get <PackageResultsProfile.RootObject>("https://apitest.suntigo.com/api/1/package/results", "RequestId", otvetPackageProfile.requestId, "Language", "English");

            var res2 = program.Get <PackageResultsProfile.RootObject>("https://apitest.suntigo.com/api/1/package/results", "RequestId", otvetPackageProfile2.requestId, "Language", "English");

            //влейся авыаы gfdgd
            Assert.True(!program.EqualsResults(res, res2));
        }