Beispiel #1
0
        public void WhenIGetTheCreatedPost()
        {
            var createdPost = _scenarioContext.PostRapidApiResponse.ParseResponse <BlogPost>();
            var getRequest  = new WebRequestBuilder($"{ApiRootUrl}/blogPosts/{createdPost.id}")
                              .WithRequestMethod(HttpMethod.Get)
                              .Build();

            _scenarioContext.GetRapidApiResponse = ApiRequestProcessor.Call(getRequest);
        }
Beispiel #2
0
        private void CreateNewBlogPost(Table table)
        {
            var blogPost = table.CreateInstance <BlogPost>();

            var createBlogPostRequest = new WebRequestBuilder($"{ApiRootUrl}/blogPosts")
                                        .WithRequestMethod(HttpMethod.Post)
                                        .WithRequestData(blogPost)
                                        .Build();

            _scenarioContext.PostRapidApiResponse = ApiRequestProcessor.Call(createBlogPostRequest);
        }
Beispiel #3
0
        public void GivenIHaveAuthenticatedWithTheApplication()
        {
            var authEndpoint = "AUTH_ENDPOINT";
            var clientId     = "CLIENTID";
            var clientSecret = "CLIENT_SECRET";

            var url = $"{authEndpoint}?clientId={clientId}&clientSecret={clientSecret}";

            var webRequest = new WebRequestBuilder(url)
                             .Build();

            _scenarioContext.AuthResponse = ApiRequestProcessor.Call(webRequest);
        }
Beispiel #4
0
        public void GetInvalidRoadStatusTest()
        {
            //Arrange
            var road = "A455";

            //Act
            var result = ApiRequestProcessor.ProcessApiRequest(road);

            //Assert
            Assert.AreEqual(1, result.Item1);
            Assert.IsTrue(result.Item2.Contains($"{road} is not a valid road."));

            Console.WriteLine(result.Item2);
        }
Beispiel #5
0
        public void GetValidRoadStatusTest()
        {
            //Arrange
            var road = "A2";

            //Act
            var result = ApiRequestProcessor.ProcessApiRequest(road);

            //Assert
            Assert.AreEqual(0, result.Item1);
            Assert.IsTrue(result.Item2.Contains($"The status of the {road} is as follows"));
            Assert.IsTrue(result.Item2.Contains("Road Status is"));
            Assert.IsTrue(result.Item2.Contains("Road Status Description is"));

            Console.WriteLine(result.Item2);
        }
Beispiel #6
0
        public void GetInvalidURLResponeTest()
        {
            //Arrange
            var road        = "A2";
            var appSettings = ConfigurationManager.AppSettings;

            appSettings["ApiURL"] = "invalidApiURL";  //Invalid ApiURL

            //Act
            var result = ApiRequestProcessor.ProcessApiRequest(road);

            //Assert
            Assert.AreEqual(4, result.Item1);
            Assert.IsTrue(result.Item2.Contains("Error"));

            Console.WriteLine(result.Item2);
        }
Beispiel #7
0
        /// <summary>
        /// This Main method passes parameter to an API call
        /// to get road status
        /// </summary>
        /// <param name="args"></param>
        /// <returns>integer as exitcode
        ///          -1: Default value, 0: Valid Road Status
        ///           1: Invalid Road Status, 2: Command Parameter cannot be parsed
        ///           4: Fatal Error like request with Unauthorised credential
        ///              or unable to establish server connection
        ///          </returns>
        public static int Main(string[] args)
        {
            var result = new Tuple <int, string>(-1, string.Empty);

            _log.InfoFormat("Application started successfully");

            if (args.Length == 0)
            {
                result = Tuple.Create(2, "Input is not valid");
            }
            else
            {
                result = ApiRequestProcessor.ProcessApiRequest(args[0]);
            }

            Console.WriteLine(result.Item2);
            _log.InfoFormat("Application returned code: {0}", result.Item1);

            return(result.Item1);
        }