public void GetAssetDeviceDetails_InternalServerError() { var assetUIDs = new AssetDeviceRequest() { AssetUIDs = new List <string>() { "a162eb79-0317-11e9-a988-029d68d36a0i", "a162eb79-0317-11e9-a988-029d68d36a0g" } }; _controllerUtilities.ValidateAssetUIDParameters(Arg.Any <string[]>()).Returns(x => throw new Exception()); var response = _controller.GetAssetDeviceDetails(assetUIDs); Assert.Equal(400, ((Microsoft.AspNetCore.Mvc.ObjectResult)response).StatusCode); }
public ActionResult GetAssetDeviceDetails([FromBody] AssetDeviceRequest assetUIDs) { List <Guid> assetGuids = new List <Guid>(); List <AssetDetail> assetDetails = new List <AssetDetail>(); try { if (assetUIDs == null || assetUIDs.AssetUIDs == null || assetUIDs.AssetUIDs.Count() == 0) { return(BadRequest("AssetUID has not been provided")); } try { if (assetUIDs != null && assetUIDs.AssetUIDs != null && assetUIDs.AssetUIDs.Count() > 0) { assetGuids = _controllerUtilities.ValidateAssetUIDParameters(assetUIDs.AssetUIDs.ToArray()).ToList(); } } catch (Exception ex) { _logger.LogError("Get Assets parameter validation threw an exception", ex); return(BadRequest("Invalid Input")); } if (assetGuids != null && assetGuids.Count() > 0) { assetDetails = _supportAssetServices.GetAssetDetailFromAssetGuids(assetGuids); assetDetails.ForEach(assetDetail => { assetDetail.AssetUID = string.IsNullOrWhiteSpace(assetDetail.AssetUID) ? null : Guid.Parse(assetDetail.AssetUID).ToString(); assetDetail.DeviceUID = string.IsNullOrWhiteSpace(assetDetail.DeviceUID) ? null : Guid.Parse(assetDetail.DeviceUID).ToString(); assetDetail.DeviceState = ((DeviceStateEnum)Enum.Parse(typeof(DeviceStateEnum), assetDetail.DeviceState)).ToString(); //assetDetail.DeviceState, }); } else { return(BadRequest("Valid assetUID has not been provided")); } } catch (Exception ex) { _logger.LogError("GetAssetDetailsFromAssetGuids encountered an error", ex); return(StatusCode((int)HttpStatusCode.InternalServerError, ex)); } return(Ok(assetDetails)); }
public void GetAssetDeviceDetails() { var assetUIDs = new AssetDeviceRequest() { AssetUIDs = new List <string>() { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() } }; _supportAssetServices.GetAssetDetailFromAssetGuids(Arg.Any <List <Guid> >()).Returns(x => new List <AssetDetail>() { new AssetDetail { AssetCustomerUIDs = "a162eb79-0317-11e9-a988-029d68d36a0i", AssetName = "tesr", AssetTypeName = "sa", AssetUID = "a162eb79-0317-11e9-a988-029d68d36a0e", DeviceSerialNumber = "Awr", DeviceState = "Subscribed", DeviceType = "PL121", DeviceUID = "a162eb79-0317-11e9-a988-029d68d36a0d", MakeCode = "CAT", Model = "TT", ModelYear = 2019, OwningCustomerUID = "a162eb79-0317-11e9-a988-029d68d36a0c", SerialNumber = "qww", TimestampOfModification = DateTime.Now } }); _controllerUtilities.ValidateAssetUIDParameters(Arg.Any <string[]>()).Returns(x => new Guid[] { Guid.NewGuid(), Guid.NewGuid() }); var response = _controller.GetAssetDeviceDetails(assetUIDs); Assert.Equal(200, ((Microsoft.AspNetCore.Mvc.ObjectResult)response).StatusCode); }