public CodebookDataObject GetPublishedAttributes(HttpRequestMessage Request, string ApiUser) { LoggingUtility log = LoggerFactory.GetLogger(); String requestId = Request.Properties["requestId"].ToString(); CodebookDataObject data = new CodebookDataObject(); string OperationName = operationName.GetAttributes.ToString(); log.ProcessingDebug(requestId, "Received GET Attributes request."); try { log.ProcessingDebug(requestId, "Getting published attributes from database."); var attributes = AttributeRespository.SelectPublishedAttributes().ToList(); if (attributes != null && attributes.Count > 0) { data.Attributes = attributes; } else { data.Errors.Add(new ErrorObject(ErrorKey.ERR_PROVIDER_NO_PUBLISHED_ATTRIBUTES)); } } catch (Exception e) { //Edit for R184 data.Errors.Add(new ErrorObject(ErrorKey.ERR_INTERNAL_FATAL)); //R185 Modification //_responseEnvelope.Data.Errors.Add(new ErrorObject(ErrorKey.ERR_INTERNAL_FATAL)); log.InfoJson(new Methods().Exception_ToLogObject(requestId, ApiUser, OperationType, OperationName, e)); } finally { //If the response has errors, insert an error message into the logs if (data.Errors.Count != 0) { log.InfoJson(new Methods().Error_ToLogObject(requestId, ApiUser, OperationType, OperationName, parameters, data.Errors)); log.ProcessingDebug(requestId, "GET Attributes request was unsuccessful."); } //The response has no errors, we insert a request successful message into the logs else { log.InfoJson(new Methods().Response_ToLogObject(requestId, ApiUser, OperationType, OperationName, parameters, data)); log.ProcessingDebug(requestId, "GET Attributes request was successful."); } } return data; }
public void GetPublishedAttributesFailureTest() { var IAttributesManager = new Mock<IAttributesManager>(); OkNegotiatedContentResult<CodebookResponse> response; CodebookDataObject AttributesData = new CodebookDataObject() { Errors = new List<ErrorObject>() { new ErrorObject(ErrorKey.ERR_INTERNAL_FATAL) }, Attributes = null }; IAttributesManager.Setup(i => i.GetPublishedAttributes(It.IsAny<HttpRequestMessage>(), It.IsAny<string>())).Returns(AttributesData); controller = new InitController("Attributes").initAttributesController(IAttributesManager.Object); response = controller.GetAttributes() as OkNegotiatedContentResult<CodebookResponse>; Assert.Null(response.Content.Data.Attributes); Assert.NotNull(response.Content.Data.Errors); Assert.True(response.Content.Data.Errors.Exists(i => i.Code == 2999)); }
public CodebookResponse(string RequestId, bool status = false) { this.Status = status; this.Data = new CodebookDataObject(); this.Meta = new MetaDataObject(RequestId); }
public void GetPublishedAttributesTest() { var IAttributesManager = new Mock<IAttributesManager>(); OkNegotiatedContentResult<CodebookResponse> response; CodebookDataObject AttributesData = new CodebookDataObject() { Errors = new List<ErrorObject>(), Attributes = new List<AttributeApiObject>() { new AttributeApiObject() } }; IAttributesManager.Setup(i => i.GetPublishedAttributes(It.IsAny<HttpRequestMessage>(), It.IsAny<string>())).Returns(AttributesData); controller = new InitController("Attributes").initAttributesController(IAttributesManager.Object); response = controller.GetAttributes() as OkNegotiatedContentResult<CodebookResponse>; Assert.NotNull(response.Content.Data.Attributes); Assert.NotEmpty(response.Content.Data.Attributes); Assert.Null(response.Content.Data.Errors); }