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); }
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); }
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)); }
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 }
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 */ }