Пример #1
0
        public void RecommendsTest(string digest, string guid, int user_id, string auth)
        {
            var client  = new RestClient(TestConfiguration.API.Location);
            var request = new RestRequest("/recommends", Method.GET);

            request
            .AddParameter("digest", digest)
            .AddParameter("guid", guid)
            .AddParameter("user_id", user_id)
            .AddHeader("Authorization", auth);

            var response = client.Execute <RecommendsModel.RootObject>(request);

            EnsureOkResponseStatusCode(response, client, request);

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

            ValidationResultModel <RecommendsModel.RootObject> recommendsMainResults;
            var isRecommendsDataValid = GlobalLogic.IsModelValid(response.Data, out recommendsMainResults);

            IList <ValidationResultModel <RecommendsModel.Item> > recommendsAndRecentlyAddedResults;
            var areRecommendsAndRecentlyAddedItemsValid = GlobalLogic.IsModelArrayValid(response.Data.RecentlyAdded.Concat(response.Data.Recommendations), out recommendsAndRecentlyAddedResults);

            if (!isRecommendsDataValid)
            {
                var message = $"Recommends with success: {recommendsMainResults.Model.Success}."
                              .RequestInfo(client, request)
                              .WithValidationErrors(recommendsMainResults.Results);

                allErrorMessages.Add(message);
            }

            if (!areRecommendsAndRecentlyAddedItemsValid)
            {
                foreach (var recommendsAndRecentlyAddedResult in recommendsAndRecentlyAddedResults.Where(x => x.Results.Any()))
                {
                    var message = $"RecentlyAdded item with Guid: {recommendsAndRecentlyAddedResult.Model.Guid}"
                                  .RequestInfo(client, request)
                                  .WithValidationErrors(recommendsAndRecentlyAddedResult.Results);

                    allErrorMessages.Add(message);
                }
            }

            if (allErrorMessages.Any())
            {
                var allMessages = string.Join("\r\n\r\n", allErrorMessages);
                throw new Exception(allMessages);
            }
        }
Пример #2
0
        public void DealerLeadsTest(string digest, string auth)
        {
            var client  = new RestClient(TestConfiguration.API.Location);
            var request = new RestRequest("lead/list?digest={digest}", Method.GET);

            request

            .AddUrlSegment("digest", digest)
            .AddHeader("Authorization", auth);

            var response = client.Execute <DealerLeadsModel.RootObject>(request);

            EnsureOkResponseStatusCode(response, client, request);

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

            ValidationResultModel <DealerLeadsModel.RootObject> dealerLeadsMainResults;
            var isDealerLeadsDataValid = GlobalLogic.IsModelValid(response.Data, out dealerLeadsMainResults);

            IList <ValidationResultModel <DealerLeadsModel.Item> > DealerLeadsItemResults;
            var areDealerLeadsDataItemsValid = GlobalLogic.IsModelArrayValid(response.Data.Items, out DealerLeadsItemResults);

            if (!isDealerLeadsDataValid)
            {
                var message = $"Dealer leads with success: {dealerLeadsMainResults.Model.Success} and results: {dealerLeadsMainResults.Model.Results}."
                              .RequestInfo(client, request)
                              .WithValidationErrors(dealerLeadsMainResults.Results);

                allErrorMessages.Add(message);
            }

            if (!areDealerLeadsDataItemsValid)
            {
                foreach (var DealerLeadsItemResult in DealerLeadsItemResults.Where(x => x.Results.Any()))
                {
                    var message = $"Dealer lead item with Classified_id: {DealerLeadsItemResult.Model.Classified_id}"
                                  .RequestInfo(client, request)
                                  .WithValidationErrors(DealerLeadsItemResult.Results);

                    allErrorMessages.Add(message);
                }
            }

            if (allErrorMessages.Any())
            {
                var allMessages = string.Join("\r\n\r\n", allErrorMessages);
                throw new Exception(allMessages);
            }
        }
Пример #3
0
        public void CertifiersTest(string digest, string auth)
        {
            var client  = new RestClient(TestConfiguration.API.Location);
            var request = new RestRequest("/certifiers?digest={digest}", Method.GET);

            request
            .AddUrlSegment("digest", digest)
            .AddHeader("Authorization", auth);

            var response = client.Execute <CertifiersModel.RootObject>(request);

            EnsureOkResponseStatusCode(response, client, request);

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

            ValidationResultModel <CertifiersModel.RootObject> certifiersMainResults;
            var isCertifiersDataValid = GlobalLogic.IsModelValid(response.Data, out certifiersMainResults);

            IList <ValidationResultModel <CertifiersModel.Item> > CertifiersItemResults;
            var areCertifiersDataItemsValid = GlobalLogic.IsModelArrayValid(response.Data.Items, out CertifiersItemResults);

            if (!isCertifiersDataValid)
            {
                var message = $"Certifiers with success: {certifiersMainResults.Model.Success} and results: {certifiersMainResults.Model.Results}."
                              .RequestInfo(client, request)
                              .WithValidationErrors(certifiersMainResults.Results);

                allErrorMessages.Add(message);
            }

            if (!areCertifiersDataItemsValid)
            {
                foreach (var CertifiersItemResult in CertifiersItemResults.Where(x => x.Results.Any()))
                {
                    var message = $"Certifier item with Name: {CertifiersItemResult.Model.Name}"
                                  .RequestInfo(client, request)
                                  .WithValidationErrors(CertifiersItemResult.Results);

                    allErrorMessages.Add(message);
                }
            }

            if (allErrorMessages.Any())
            {
                var allMessages = string.Join("\r\n\r\n", allErrorMessages);
                throw new Exception(allMessages);
            }
        }
Пример #4
0
        public void RegSourceTest(string digest, string auth)
        {
            var client  = new RestClient(TestConfiguration.API.Location);
            var request = new RestRequest("/user/reg_request_source?digest={digest}", Method.GET);

            request
            .AddUrlSegment("digest", digest)
            .AddHeader("Authorization", auth);

            var response = client.Execute <RegSourceModel.RootObject>(request);

            EnsureOkResponseStatusCode(response, client, request);

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

            ValidationResultModel <RegSourceModel.RootObject> regSourceMainResults;
            var isRegSourceDataValid = GlobalLogic.IsModelValid(response.Data, out regSourceMainResults);

            IList <ValidationResultModel <RegSourceModel.Item> > RegSourceItemResults;
            var areRegSourceDataItemsValid = GlobalLogic.IsModelArrayValid(response.Data.Items, out RegSourceItemResults);

            if (!isRegSourceDataValid)
            {
                var message = $"Registration source with success: {regSourceMainResults.Model.Success} and results: {regSourceMainResults.Model.Results}."
                              .RequestInfo(client, request)
                              .WithValidationErrors(regSourceMainResults.Results);

                allErrorMessages.Add(message);
            }

            if (!areRegSourceDataItemsValid)
            {
                foreach (var RegSourceItemResult in RegSourceItemResults.Where(x => x.Results.Any()))
                {
                    var message = $"Source item with Name: {RegSourceItemResult.Model.Name}"
                                  .RequestInfo(client, request)
                                  .WithValidationErrors(RegSourceItemResult.Results);

                    allErrorMessages.Add(message);
                }
            }

            if (allErrorMessages.Any())
            {
                var allMessages = string.Join("\r\n\r\n", allErrorMessages);
                throw new Exception(allMessages);
            }
        }