public void APIOperationBuilder()
        {
            string        name        = "Server API operation";
            RequestMethod method      = RequestMethod.POST;
            string        urlTemplate = "/Get/a/{a}/b/{b}";
            string        description = "an operation created in the operation";

            ParameterContract[] parameters = null;
            RequestContract     request    = null;

            ResponseContract[] responses = null;

            parameters = Parameters();

            APIOperation operation = APIOperation.Create(name, method, urlTemplate, parameters, request, responses, description);

            APIOperationHelper helper = new APIOperationHelper(operation);
        }
Beispiel #2
0
        public void TestCreateAPIOperation()
        {
            long   c1, c2;
            string apiId = _apiId1;

            RequestMethod method      = RequestMethod.DELETE;
            string        name        = method.ToString() + " Calc operation";
            string        urlTemplate = "/calc/" + method.ToString();
            string        description = "";

            APIOperation operation = APIOperation.Create(name, method, urlTemplate, null, null, null, description, _operationId1);

            c1 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
            APIOperation entity = Client.CreateAPIOperationAsync(apiId, operation).Result;

            c2 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
            Assert.AreEqual(c1 + 1, c2);
        }
Beispiel #3
0
        public void CreateAPIOperation()
        {
            long   c1, c2;
            string apiId = _apiId;

            string        name        = "Operation_3";
            RequestMethod method      = RequestMethod.DELETE;
            string        urlTemplate = "/pet/{petId}";
            string        description = "post it";

            APIOperation operation = APIOperation.Create(name, method, urlTemplate, Parameters(), Request(), Responses(), description, _operationId);

            c1 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
            APIOperation entity = Client.CreateAPIOperationAsync(apiId, operation).Result;

            c2 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
            Assert.AreEqual(c1 + 1, c2);
        }
            /// <summary>
            /// Build an APIOperation from a swagger operation
            /// </summary>
            /// <param name="method"></param>
            /// <returns>An APIOperation</returns>
            public APIOperation BuildOperation(RequestMethod method = RequestMethod.GET)
            {
                if (_operation == null)
                {
                    return(null);
                }

                PrepareParameterLists();

                string name        = _operation.OperationId;
                string description = _operation.Description;
                string urlTemplate = _baseUrl + BuildQueryUrl();

                ParameterContract[] parameters = _pathParameters.Concat(_queryParameters).ToArray();
                ResponseContract[]  responses  = BuildResponses();
                RequestContract     request    = BuildRequest();

                return(APIOperation.Create(name, method, urlTemplate, parameters, request, responses, description));
            }
Beispiel #5
0
        public void TestAPIOperationLifeCycle()
        {
            long   c1, c2;
            string apiId = "api_1de6f9ae1521400594ee3e234ffd630c;rev=3";

            RequestMethod method      = RequestMethod.DELETE;
            string        name        = method.ToString() + " Calc operation";
            string        urlTemplate = "/calc/" + method.ToString();
            string        description = "";

            APIOperation operation = APIOperation.Create(name, method, urlTemplate, null, null, null, description);


            #region CREATE

            c1 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
            APIOperation entity = Client.CreateAPIOperationAsync(apiId, operation).Result;
            c2 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
            Assert.AreEqual(c1 + 1, c2);

            #endregion
        }
Beispiel #6
0
        public void APIOperationLifeCycle()
        {
            long   c1, c2;
            string apiId = "api_96c8b0b79c9342f7a42f56795c92fd1d";

            string        name        = "Operation_3";
            RequestMethod method      = RequestMethod.DELETE;
            string        urlTemplate = "/pet/{petId}";
            string        description = "post it";

            APIOperation operation = APIOperation.Create(name, method, urlTemplate, Parameters(), Request(), Responses(), description);


            #region CREATE

            c1 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
            APIOperation entity = Client.CreateAPIOperationAsync(apiId, operation).Result;
            c2 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
            Assert.AreEqual(c1 + 1, c2);

            #endregion

            /*
             #region RETRIEVE
             *
             * APIOperation other = Client.GetAPIOperationAsync(apiId, entity.Id).Result;
             * Assert.AreEqual(entity.Name, other.Name);
             * Assert.AreEqual(entity.UrlTemplate, other.UrlTemplate);
             *
             #endregion
             *
             #region Update INFO
             * entity.Name = entity.Name + "-new";
             * var task = Client.UpdateAPIOperationAsync(apiId, entity.Id, entity);
             * task.Wait();
             * other = Client.GetAPIOperationAsync(apiId, entity.Id).Result;
             * Assert.AreEqual(entity.Name, other.Name);
             #endregion
             *
             *
             #region UPDATE REPSPONSE
             * other = Client.GetAPIOperationAsync(apiId, entity.Id).Result;
             * Assert.AreEqual(entity.Responses.Count(), other.Responses.Count());
             * List<ResponseContract> responses = entity.Responses.ToList();
             * responses.Add(ResponseContract.Create(400, "so bad", new RepresentationContract[] {
             *  RepresentationContract.Create("application/json", null, null, "sample code", null)
             * }));
             * entity.Responses = responses.ToArray();
             * Assert.AreEqual(entity.Responses.Count() - 1, other.Responses.Count());
             * task = Client.UpdateAPIOperationAsync(apiId, entity.Id, entity);
             * task.Wait();
             * other = Client.GetAPIOperationAsync(apiId, entity.Id).Result;
             * Assert.AreEqual(entity.Responses.Count(), other.Responses.Count());
             #endregion
             *
             *
             *
             #region UPDATE REQUEST
             * other = Client.GetAPIOperationAsync(apiId, entity.Id).Result;
             * Assert.AreEqual(entity.Request.Description, other.Request.Description);
             * RequestContract request = RequestContract.Create(entity.Description + " -----new description");
             * entity.Request = request;
             * Assert.AreNotEqual(entity.Request.Description, other.Request.Description);
             * task = Client.UpdateAPIOperationAsync(apiId, entity.Id, entity);
             * task.Wait();
             * other = Client.GetAPIOperationAsync(apiId, entity.Id).Result;
             * Assert.AreEqual(entity.Request.Description, other.Request.Description);
             #endregion
             *
             *
             #region UPATE PARAMETERS
             * other = Client.GetAPIOperationAsync(apiId, entity.Id).Result;
             * Assert.AreEqual(entity.UrlTemplate, other.UrlTemplate);
             * Assert.AreEqual(entity.TemplateParameters.Count(), other.TemplateParameters.Count());
             * APIOperationHelper helper = new APIOperationHelper(entity);
             *
             * List<ParameterContract> parameters = new List<ParameterContract>();
             * parameters.Add(ParameterContract.Create("account", "uuid"));
             * parameters.Add(ParameterContract.Create("other", "number"));
             * parameters.Add(ParameterContract.Create("start", "date-time"));
             * parameters.Add(ParameterContract.Create("end", "date-time"));
             * parameters.Add(ParameterContract.Create("description", "string"));
             *
             *
             * entity.UrlTemplate = APIOperationHelper.BuildURL(helper.GetOriginalURL(), parameters);
             * entity.TemplateParameters = parameters.ToArray();
             *
             * Assert.AreNotEqual(entity.TemplateParameters.Count(), other.TemplateParameters.Count());
             * Assert.AreNotEqual(entity.UrlTemplate, other.UrlTemplate);
             * task = Client.UpdateAPIOperationAsync(apiId, entity.Id, entity);
             * task.Wait();
             *
             * other = Client.GetAPIOperationAsync(apiId, entity.Id).Result;
             * Assert.AreEqual(entity.UrlTemplate, other.UrlTemplate);
             * Assert.AreEqual(entity.TemplateParameters.Count(), other.TemplateParameters.Count());
             *
             #endregion
             *
             *
             *
             #region DELETE Operation
             * c1 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
             * task = Client.DeleteOperationAsync(apiId, entity.Id);
             * task.Wait();
             * c2 = Client.GetOperationsByAPIAsync(apiId).Result.Count;
             * Assert.AreEqual(c1 - 1, c2);
             #endregion
             */
        }