Example #1
0
        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);
        }
Example #2
0
        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));
        }
Example #3
0
        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);
        }