public async Task <ActionResult <IEnumerable <ItemDto> > > SalvageEquipment([FromBody] EquipmentDto dto, [FromServices] IEquipmentSalvager equipmentSalvager)
        {
            var userId = User.Claims.GetUserId();

            if (userId == null)
            {
                return(Forbid());
            }

            var equipment = await Context.Equipment
                            .Where(o => o.UserId == userId)
                            .FirstOrDefaultAsync(o => o.Id == dto.Id);

            if (equipment == null)
            {
                return(BadRequest());
            }

            var items = equipmentSalvager.Salvage(equipment, userId.Value).ToList();

            Context.Remove(equipment);
            Context.AddRange(items);
            await Context.SaveChangesAsync();

            return(Ok(Mapper.Map <IEnumerable <ItemDto> >(items)));
        }
Пример #2
0
        public async Task <Guid> CreateAsync(CharacterCreateDto entityDto)
        {
            using (var uow = UnitOfWorkProvider.Create())
            {
                //attributes, inventory, equipment
                var inv = new InventoryDto()
                {
                    Id = Guid.NewGuid(), MaxSize = 12
                };
                var attr = GenerateAttributesAccordingToCharacter(entityDto);
                var eq   = new EquipmentDto()
                {
                    Id = Guid.NewGuid()
                };

                entityDto.CurrentHp  = 10 * attr.Hp;
                entityDto.Inventory  = inv;
                entityDto.Equipment  = eq;
                entityDto.Attributes = attr;

                entityDto.Id = _characterService.Create(entityDto);
                await uow.Commit();

                return(entityDto.Id);
            }
        }
        public async Task <IActionResult> AddEquipment([FromBody] EquipmentDto equipmentDto)
        {
            //nieuwzglenianie case sensitivity
            equipmentDto.EqName = equipmentDto.EqName.ToLower();

            if (await _repo.ValidateEquipmentName(equipmentDto.EqName, equipmentDto.UserId))
            {
                return(BadRequest("Taka nazwa ekwipunku już istnieje"));
            }


            var eqToCreate = new Equipments
            {
                EqName       = equipmentDto.EqName,
                UserId       = equipmentDto.UserId,
                HeroId       = equipmentDto.HeroId,
                FirtItemId   = equipmentDto.FirtItemId,
                SecondItemId = equipmentDto.SecondItemId,
                ThirdItemId  = equipmentDto.ThirdItemId,
                FourthItemId = equipmentDto.FourthItemId,
                FifthItemId  = equipmentDto.FifthItemId,
                SixthItemId  = equipmentDto.SixthItemId,
                GameId       = equipmentDto.GameId
            };

            var createdEquipment = await _repo.AddEquipment(eqToCreate, equipmentDto.HeroLvl);

            return(StatusCode(201));
        }
Пример #4
0
        public ActionResult Edit(EquipmentDto equipmentDto, HttpPostedFileBase ImageEquip)
        {
            if (ModelState.IsValid)
            {
                if (ImageEquip != null && ImageEquip.ContentLength > 0)
                {
                    equipmentDto.Image = new byte[ImageEquip.ContentLength]; // ImageEquip to store image in binary formate
                    ImageEquip.InputStream.Read(equipmentDto.Image, 0, ImageEquip.ContentLength);
                }

                /* Other Method : Insert image into folder and insert image path into database and display image in
                 * view from image folder based on path given(stored) in database. */
                //if (ImageEquip == null)
                //{
                //    string ImageName = System.IO.Path.GetFileName(ImageEquip.FileName); //file2 to store path and url
                //    string physicalPath = Server.MapPath("~/img/" + ImageName);
                //    // save image in folder
                //    ImageEquip.SaveAs(physicalPath);
                //    equip.PathPhoto = "img/" + ImageName;
                //}

                var updated = equipmentService.Update(equipmentDto);
                return(RedirectToAction("Index"));
            }

            return(View(equipmentDto));
        }
Пример #5
0
        public async Task <IActionResult> PutEquipment(int id, EquipmentDto entry)
        {
            if (id != entry.Id)
            {
                return(BadRequest("Payload does not match identifier"));
            }

            var dbEntry = _mapper.Map <Equipment>(entry);

            _context.Entry(dbEntry).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EquipmentExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }
Пример #6
0
        public List <SearchResultDTO> GetSearchResult()
        {
            IEnumerable <EquipmentDto> searchResult              = new EquipmentServerController().GetEquipmentByRoomId(schedulingDto.SourceRoomId);
            List <SearchResultDTO>     retVal                    = new List <SearchResultDTO>();
            IMapObjectController       mapObjectController       = new MapObjectController();
            IEquipmentServerController equipmentServerController = new EquipmentServerController();

            for (int i = 0; i < searchResult.Count(); i++)
            {
                EquipmentDto           equipmentDto           = searchResult.ElementAt(i);
                MapObject              mo                     = mapObjectController.GetMapObjectById(equipmentDto.RoomId);
                string                 amount                 = "0";
                string                 timeInterval           = schedulingDto.TimeInterval.Start.ToString() + "-" + schedulingDto.TimeInterval.End.ToString();
                EquipmentSeparationDto equipmentSeparationDto = new EquipmentSeparationDto()
                {
                    SourceRoomId        = schedulingDto.SourceRoomId,
                    SourceQuantity      = equipmentDto.Quantity,
                    DestinationRoomId   = schedulingDto.DestinationRoomId,
                    DestinationQuantity = 0,
                    Name = equipmentDto.Name
                };
                EquipmentSeparationSearchResultDTO searchResultDTO = new EquipmentSeparationSearchResultDTO()
                {
                    Content = equipmentDto.Name + AllConstants.ContentSeparator
                              + equipmentDto.Quantity + AllConstants.ContentSeparator
                              + equipmentDto.Name + AllConstants.ContentSeparator
                              + amount,
                    EquipmentSeparationDto = equipmentSeparationDto
                };
                retVal.Add(searchResultDTO);
            }
            return(retVal);
        }
        [HttpPost("updateEquipment")] //, ActionName("addEquipment")]
        public async Task <IActionResult> UpdateEquipment([FromBody] EquipmentDto equipmentDto)
        {
            //nieuwzglenianie case sensitivity
            equipmentDto.EqName = equipmentDto.EqName.ToLower();

            if (await _repo.ValidateEquipmentNameForUpdate(equipmentDto.EqName, equipmentDto.UserId, equipmentDto.EquipmentId))
            {
                return(BadRequest("Inny z Twoich ekwipunków posiada już taką nazwę"));
            }

            var eqToCreate = new Equipments
            {
                EqName       = equipmentDto.EqName,
                UserId       = equipmentDto.UserId,
                HeroId       = equipmentDto.HeroId,
                FirtItemId   = equipmentDto.FirtItemId,
                SecondItemId = equipmentDto.SecondItemId,
                ThirdItemId  = equipmentDto.ThirdItemId,
                FourthItemId = equipmentDto.FourthItemId,
                FifthItemId  = equipmentDto.FifthItemId,
                SixthItemId  = equipmentDto.SixthItemId
            };

            var createdEquipment = await _repo.UpdateEquipment(eqToCreate, equipmentDto.HeroLvl, equipmentDto.EquipmentId);

            return(StatusCode(201));
        }
Пример #8
0
        public async Task <IActionResult> Edit(int id, [Bind("EquipmentId,EquipmentName,EquipmentType,DaysOfHire,ProcessingMessage")] EquipmentDto equipment)
        {
            if (id != equipment.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(equipment);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EquipmentExists(equipment.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(equipment));
        }
        public async Task <EquipmentDto> CreateAsync(EquipmentDto equipment)
        {
            var result = _mapper.Map <Equipment>(equipment);

            result = await _repository.CreateAsync(result);

            return(_mapper.Map <EquipmentDto>(result));
        }
Пример #10
0
        public async Task <EquipmentDto> Update(EquipmentDto input)
        {
            var entity = input.MapTo <Equipment>();

            entity = await _repository.UpdateAsync(entity);

            return(entity.MapTo <EquipmentDto>());
        }
Пример #11
0
        public async Task <ActionResult <Equipment> > PostEquipment(EquipmentDto entry)
        {
            var dbEntry = _mapper.Map <Equipment>(entry);

            _context.Equipments.Add(dbEntry);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("Post", new { id = entry.Id }, entry));
        }
Пример #12
0
 public ActionResult Edit(EquipmentDto eqDto)
 {
     if (ModelState.IsValid)
     {
         _equipmentService.Edit(eqDto);
         return(RedirectToAction("getAllRoom", "Room"));
     }
     return(View(eqDto));
 }
Пример #13
0
        public int Add(EquipmentDto dto)
        {
            var model = Mapper.Map <EquipmentDto, Equipment>(dto);

            model.Room = _unitOfWork.RoomRepository.FindById(dto.Room_id);
            _unitOfWork.EquipmentRepository.Add(model);
            _unitOfWork.SaveChanges();

            return(model.Id);
        }
        public async Task UpdateAsync(EquipmentDto equipment)
        {
            var result = _mapper.Map <Equipment>(equipment);
            var find   = await _repository.FindByIDAsync(result.Id);

            if (result != null)
            {
                await _repository.UpdateAsync(find, result);
            }
        }
Пример #15
0
        public async Task <IActionResult> Put(EquipmentDto equipment)
        {
            if (equipment == null)
            {
                return(null);
            }
            await _entityService.UpdateAsync(equipment);

            return(this.StatusCode(StatusCodes.Status200OK));
        }
Пример #16
0
        public async Task <Guid> CreateEquipment(EquipmentDto eq)
        {
            using (var uow = UnitOfWorkProvider.Create())
            {
                eq.Id = _equipmentService.Create(eq);
                await uow.Commit();

                return(eq.Id);
            }
        }
Пример #17
0
        public ActionResult AddEquipment(EquipmentDto dto, int rid)
        {
            dto.Room_id = rid;


            int i = _equipmentService.Add(dto);

            ViewBag.Rid = rid;
            return(RedirectToAction("AddEquipment", new { rid = rid }));
        }
Пример #18
0
        public async Task <IActionResult> Create([Bind("EquipmentId,EquipmentName,EquipmentType,DaysOfHire,ProcessingMessage")] EquipmentDto equipment)
        {
            if (ModelState.IsValid)
            {
                _context.Add(equipment);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(equipment));
        }
Пример #19
0
        public IActionResult GetAllEquipments()
        {
            var equip = _service.GetAllEquipments();
            List <EquipmentDto> Dto = new List <EquipmentDto>();

            foreach (var item in equip)
            {
                EquipmentDto Dtos = _mapper.Map <EquipmentDto>(item);
                Dto.Add(Dtos);
            }
            return(Ok(Dto));
        }
Пример #20
0
        public void CreateEquipment_ModelIsValid_ReturnCreated()
        {
            var equipmentDto = new EquipmentDto();
            var equipment    = Mapper.Map <EquipmentDto, Equipment>(equipmentDto);

            unitOfWork.Setup(uow => uow.Equipment.Add(equipment));
            unitOfWork.Setup(uow => uow.Complete());

            var result = controller.CreateEquipment(equipmentDto);

            Assert.That(result, Is.InstanceOf(typeof(CreatedNegotiatedContentResult <EquipmentDto>)));
        }
    public void MapToEquipmentExportDtoCorrectly()
    {
        var expect = new EquipmentDto
        {
            EquipmentId   = 10,
            EquipmentName = "equipment",
        };
        var mapper = CreateMapper();
        var actual = mapper.Map <EquipmentExportDto>(expect);

        Assert.Equal(expect.EquipmentId.ToString(), actual.EquipmentId);
        Assert.Equal(expect.EquipmentName, actual.EquipmentName);
    }
        public void Execute(EquipmentDto request)
        {
            var equipment = new Equipment();

            if (Context.Equipment.Any(e => e.Name.ToLower() == request.Name.ToLower()))
            {
                throw new EntityAlreadyExistsException("Equipment");
            }

            equipment.Name = request.Name;
            Context.Equipment.Add(equipment);
            Context.SaveChanges();
        }
Пример #23
0
        public int Update(EquipmentDto equipmentDto)
        {
            var equipment = new Equipment()
            {
                Id              = equipmentDto.Id,
                SerialNumber    = equipmentDto.SerialNumber,
                Name            = equipmentDto.Name,
                NextControlDate = equipmentDto.NextControlDate,
                Image           = equipmentDto.Image
            };
            int rows = _equipmentRepository.SaveChanges();

            return(rows);
        }
Пример #24
0
        public IActionResult UpdateEquipment(int id, [FromBody] EquipmentDto equipDto)
        {
            var equipment = _mapper.Map <Equipment>(equipDto);

            try
            {
                _service.Update(equipment, id);
                return(Ok());
            }
            catch (AppException ex)
            {
                return(BadRequest(new { message = ex.Message }));
            }
        }
Пример #25
0
        public bool Edit(EquipmentDto dto)
        {
            Equipment n = _unitOfWork.EquipmentRepository.FindById(dto.Id);

            n.Id = dto.Id;

            n.Name        = dto.Name;
            n.Description = dto.Description;
            n.Stauts      = dto.Stauts;
            n.needfix     = dto.needfix;
            n.ishere      = dto.ishere;
            _unitOfWork.SaveChanges();
            return(true);
        }
Пример #26
0
        public EquipmentDto GetById(int id)
        {
            var equipment    = _equipmentRepository.GetById(id);
            var equipmentDto = new EquipmentDto()
            {
                Id              = equipment.Id,
                SerialNumber    = equipment.SerialNumber,
                Name            = equipment.Name,
                NextControlDate = equipment.NextControlDate,
                Image           = equipment.Image
            };

            return(equipmentDto);
        }
Пример #27
0
        public int Insert(EquipmentDto equipmentDto)
        {
            var equipment = new Equipment()
            {
                Id              = equipmentDto.Id,
                SerialNumber    = equipmentDto.SerialNumber,
                Name            = equipmentDto.Name,
                NextControlDate = equipmentDto.NextControlDate,
                Image           = equipmentDto.Image
            };

            _equipmentRepository.Insert(equipment);
            _equipmentRepository.SaveChanges();
            return(equipment.Id);
        }
Пример #28
0
        public async Task <EquipmentDto> Create(EquipmentDto input)
        {
            var entity = input.MapTo <Equipment>();

            var count = await _repository.CountAsync(p => p.FNumber == input.FNumber);

            if (count > 0)
            {
                throw new UserFriendlyException($"设备代码{input.FNumber}重复");
            }

            entity = await _repository.InsertAsync(entity);

            return(entity.MapTo <EquipmentDto>());
        }
Пример #29
0
        /// <summary>
        /// Equipment Upd
        /// </summary>
        public async Task <EquipmentDto> EquipmentUpd(EquipmentDto dtoItem, string userGuid, string serviceGroupGuid)
        {
            var item = new EquipmentEntity
            {
                equipment_guid      = dtoItem.equipment_guid,
                equipment_type_guid = dtoItem.equipment_type_guid,
                equipment_info      = JsonDataExtensions.EntityToJsonData(dtoItem)
            };

            var equipment = await EquipmentInfo.EquipmentUpd(item, userGuid, serviceGroupGuid);

            var result = JsonDataExtensions.JsonToEntityData <EquipmentDto>(equipment.equipment_info);

            return(result);
        }
Пример #30
0
        public IHttpActionResult CreateEquipment(EquipmentDto equipmentDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            var equipment = Mapper.Map <EquipmentDto, Equipment>(equipmentDto);

            _context.Equipments.Add(equipment);
            _context.SaveChanges();

            equipmentDto.Id = equipment.Id;
            return(Created(new Uri(Request.RequestUri + "/" + equipment.Id), equipmentDto));
        }
Пример #31
0
 private EquipmentDto TestEquipment_TiVo()
 {
     var equipmentDto = new EquipmentDto
     {
         AssociatedSubscriberId = "associatedsubid",
         BlockedServiceList = new List<ServiceDto>(),
         CPE = true,
         CustomFields = new List<CustomFieldDto>(),
         HeadendCode = "04",
         LocationId = "locationid",
         SerialNumber = "tivoserialnumber",
         Status = "LOST",
         Type = new EquipmentTypeDto
         {
             Category = EquipmentCategoryDto.TiVo,
             Model = "TiVo Gateway",
             WirelessCapable = true
         },
         UnitAddress = "",
         VCI = "1234",
         VPI = "1234",
     };
     return equipmentDto;
 }
        public void RemoveResidentialGateway_ValidateSuccessScenario()
        {
            using (ShimsContext.Create())
            {
                //Arrange
                var myContext = new SIMPLTestContext();

                //Build FakeDto
                var fakeUserDto = myContext.GetFakeUserDtoObject();

                //Fake call to CurrentUser.AsUserDto()
                ShimCurrentUser.AsUserDto = () => fakeUserDto;

                // Fake the HttpContext
                var context = new ShimHttpContext();
                ShimHttpContext.CurrentGet = () => context;

                // Fake the session state for HttpContext
                var session = new ShimHttpSessionState
                {
                    ItemGetString = s =>
                    {
                        if (s == "")
                            return null;
                        return null;
                    }
                };

                // When the Fake HttpContext is called, provide the fake session state
                ShimHttpContext.AllInstances.SessionGet = (o) => session;

                var fakeServiceAccount = myContext.GetFakeServiceAccountDto();
                var listFakeServiceAccounts = new List<ServiceAccountDto>
                {
                    fakeServiceAccount
                };

                //Expected result
                const string expectedBaseModelValue = "A5550";
                const string expectedSerialNumber = "PACE99999991";
                const string expectedLocationId = "locId";

                ShimCurrentSubscriber.AllInstances.PhoneServicesListGet = (o) => listFakeServiceAccounts;
                ShimCurrentSubscriber.AllInstances.ServiceAccountListGet = (myTest) => listFakeServiceAccounts;
                ShimCurrentSubscriber.AllInstances.CurrentServiceAccountGet = (myTest) => fakeServiceAccount;
                ShimCurrentSubscriber.AllInstances.SubIdGet = (o) => "89451";
                ShimCurrentSubscriber.AllInstances.LocationIdGet = (o) => expectedLocationId;

                // set WanIpAddress
                ShimCurrentSubscriber.AllInstances.WanIpAddressGet = o => "12:12:12:12";
                ShimRosettianClient.AllInstances.LoadSubscriberStringUserDto = (client, subId, userDto) => new SubscriberDto();
                ShimCurrentSubscriber.UpdateWanIpAddressString = (myWanIpAddress) => { };

                var RgType = new EquipmentTypeDto
                {
                    ONTModel = new ONTModelDto
                    {
                        BaseModel = expectedBaseModelValue
                    },
                    Category = EquipmentCategoryDto.RGDataPort
                };

                var equipmentDataDto = new EquipmentDto
                {
                    SerialNumber = expectedSerialNumber + "D01",
                    LocationId = expectedLocationId,
                    Type = RgType,
                    Status = "ACTIVE"
                };

                var equipmentPhoneDto01 = new EquipmentDto
                {
                    SerialNumber = expectedSerialNumber + "P01",
                    LocationId = expectedLocationId,
                    Type = RgType,
                    Status = "ACTIVE"
                };

                var equipmentPhoneDto02 = new EquipmentDto
                {
                    SerialNumber = expectedSerialNumber + "P02",
                    LocationId = expectedLocationId,
                    Type = RgType,
                    Status = "ACTIVE"
                };

                var searchEquipmentsResult = new List<EquipmentDto>();
                searchEquipmentsResult.Add(equipmentDataDto);
                searchEquipmentsResult.Add(equipmentPhoneDto01);
                searchEquipmentsResult.Add(equipmentPhoneDto02);

                ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto =
                    (myTestClient, mySearchFields, myUserDto) => searchEquipmentsResult;

                ShimRosettianClient.AllInstances.ReturnToHeadendListOfStringUserDto = (myTestClient, mySerialNumberList, myUserDto) => true;

                var compositeEquipment = new CompositeEquipment
                {
                    ErrorDetails = new ErrorDetails()
                    {
                        Code = ResidentialGatewayErrorCode.GatewayNotFound.ToString(),
                        Message = @"Active RG not Found on Account. Provide the RG serial number and click the button below to associate."
                    }
                };
                ShimBusinessFacade.AllInstances.LoadCompositeEquipmentSearchFieldsDtoUserDto =
                    (myFacade, mySearchFields, arg3) => compositeEquipment;

                // First Act
                var residentialController = DependencyResolver.Current.GetService<ResidentialGatewayController>();
                var result = residentialController.RemoveResidentialGateway("deviceID");

                // First Assert
                Assert.IsNotNull(result, "Returned Json result with rendered partial view is null.");
                Assert.IsTrue(result is JsonResult, "result is not a JsonResult");

                // Second Act
                var resultJson = result as JsonResult;

                // Second Assert
                Assert.IsNotNull(resultJson, "Returned Json result is null.");
                dynamic resultData = resultJson.Data;
                var status = resultData.status as string;
                var errorMessage = string.Empty;
                if (status == "error")
                {
                    errorMessage = resultData.errorMessage;
                }
                Assert.AreEqual("valid", status, "RemoveResidentialGateway_HappyPath() - unexpected status from RemoveResidentialGateway() - {0}", errorMessage);
                var renderedPartial = resultData.returnedPartial as string;
                Assert.IsNotNull(renderedPartial, "Prerendered partial is null.");
            }
        }
        public void SwapIpVideoDevice_SwapOutVAPForAnotherVAP()
        {
            using (ShimsContext.Create())
            {
                //Arrange
                const string selectedRoomConst = "testroom";
                var myContext = new SIMPLTestContext();
                var fakeUserDto = myContext.GetFakeUserDtoObject();
                ShimCurrentUser.AsUserDto = () => fakeUserDto;
                ShimCurrentUser.AllInstances.RolesGet = x =>
                {
                    return new List<int>();
                };
                var context = new ShimHttpContext();
                ShimHttpContext.CurrentGet = () => context;
                ShimResidentialGatewayController.AllInstances.ValidateDeviceEquipmentDto = (controller, dto) =>
                {
                    return new RozResponseDto { Code = "200", Message = String.Empty };
                };

                var session = new ShimHttpSessionState
                {
                    ItemGetString = s =>
                    {
                        if (s == "")
                            return null;
                        return null;
                    }
                };

                ShimHttpContext.AllInstances.SessionGet = o => session;

                // VAP device to test
                EquipmentDto VAPDevice1 = new EquipmentDto();
                VAPDevice1.Type.Category = EquipmentCategoryDto.VideoAccessPoint;
                CustomFieldDto cf = new CustomFieldDto();
                cf.Label = "ROOM_LOCATION";
                VAPDevice1.CustomFields.Add(cf);

                // Another VAP device to test
                EquipmentDto VAPDevice2 = new EquipmentDto();
                VAPDevice2.Type.Category = EquipmentCategoryDto.VideoAccessPoint;
                VAPDevice2.CustomFields.Add(cf);

                // Shim Equipment Search
                ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto = (client, dto, arg3) =>
                {
                    List<EquipmentDto> lst = new List<EquipmentDto>();
                    lst.Add(VAPDevice1);
                    lst.Add(VAPDevice2);
                    return lst;
                };

                ShimRosettianClient.AllInstances.ReturnToHeadendListOfStringUserDto = (client, list, arg3) =>
                {
                    return true;
                };

                // current location
                const string currentLocationId = "LOCIDWITHANYVALUE";

                // set location Id
                ShimCurrentSubscriber.AllInstances.LocationIdGet = o => currentLocationId;

                // get service for ResidentialGatewayController
                var residentialController = DependencyResolver.Current.GetService<ResidentialGatewayController>();

                // Test for s
                string selectedRoomValue = "testroom";

                ShimRosettianClient.AllInstances.UpdateEquipmentEquipmentDtoUserDto = (client, dto, arg3) =>
                {
                    return true;
                };

                ShimRosettianClient.AllInstances.PerformEquipmentOperationListOfEquipmentOperationDtoUserDto = (client, dtos, arg3) =>
                {
                    return true;
                };

                // Try to replace VAP device with another VAP device

                string result =
                    residentialController.SwapIpVideoDevices(VAPDevice1, VAPDevice2, selectedRoomValue).ToJSON();
                XmlDictionaryReader jsonReader = JsonReaderWriterFactory.CreateJsonReader(
                    Encoding.UTF8.GetBytes(result), new XmlDictionaryReaderQuotas());
                XElement root = XElement.Load(jsonReader);
                int code = Convert.ToInt32(root.XPathSelectElement(@"//code").Value);
                string status = root.XPathSelectElement(@"//status").Value.ToString();
                string selectedRoomReturned = root.XPathSelectElement(@"//sRoom").Value.ToString();
                string errorString = root.XPathSelectElement(@"//errorMessage").Value.ToString();

                if ((code == 200 || code == 202) && status == "valid")
                {
                    Assert.IsTrue(true);
                }
                else if ((code == 200 || code == 202) && status == "error")
                {
                    Assert.Inconclusive("Device untestable as validation failed.");
                }
                else if (code == 400 && errorString.Contains("Error swapping old video device"))
                {
                    Assert.Inconclusive("Device untestable because endpoint failed.");
                }
                else
                {
                    Assert.Fail("Swap of two VAP devices failed.");
                }
                Assert.AreEqual(selectedRoomConst, selectedRoomReturned, "Selected room changed.");
            }
        }
        public void SwapIpVideoDevice_SwapOutVAPForNonVAP()
        {
            using (ShimsContext.Create())
            {
                //Arrange
                const string selectedRoomConst = "testroom";
                var myContext = new SIMPLTestContext();
                var fakeUserDto = myContext.GetFakeUserDtoObject();
                ShimCurrentUser.AsUserDto = () => fakeUserDto;
                ShimCurrentUser.AllInstances.RolesGet = x =>
                {
                    return new List<int>();
                };
                var context = new ShimHttpContext();
                ShimHttpContext.CurrentGet = () => context;
                ShimResidentialGatewayController.AllInstances.ValidateDeviceEquipmentDto = (controller, dto) =>
                {
                    return new RozResponseDto { Code = "200", Message = String.Empty };
                };

                var session = new ShimHttpSessionState
                {
                    ItemGetString = s =>
                    {
                        if (s == "")
                            return null;
                        return null;
                    }
                };

                ShimHttpContext.AllInstances.SessionGet = o => session;

                // VAP device to test
                EquipmentDto VAPDevice = new EquipmentDto();
                VAPDevice.Type.Category = EquipmentCategoryDto.VideoAccessPoint;

                // Non-VAP device to test
                EquipmentDto NonVAPDevice = new EquipmentDto();
                NonVAPDevice.Type.Category = EquipmentCategoryDto.DVR;

                // current location
                const string currentLocationId = "LOCIDWITHANYVALUE";

                // set location Id
                ShimCurrentSubscriber.AllInstances.LocationIdGet = o => currentLocationId;

                // get service for ResidentialGatewayController
                var residentialController = DependencyResolver.Current.GetService<ResidentialGatewayController>();

                // Test room
                string selectedRoomValue = "testroom";

                // Try to replace VAP device with a Non-VAP device

                string result =
                    residentialController.SwapIpVideoDevices(VAPDevice, NonVAPDevice, selectedRoomValue).ToJSON();
                XmlDictionaryReader jsonReader = JsonReaderWriterFactory.CreateJsonReader(
                    Encoding.UTF8.GetBytes(result), new XmlDictionaryReaderQuotas());
                XElement root = XElement.Load(jsonReader);
                int code = Convert.ToInt32(root.XPathSelectElement(@"//code").Value);
                string status = root.XPathSelectElement(@"//status").Value.ToString();
                string selectedRoomReturned = root.XPathSelectElement(@"//sRoom").Value.ToString();
                string errorString = root.XPathSelectElement(@"//errorMessage").Value.ToString();

                if (code != 400 && code != 200 && code != 202)
                {
                    Assert.Inconclusive("Unknown Error.");
                }
                if ((code == 200 || code == 202) && status == "error")
                {
                    Assert.Inconclusive("Device untestable as validation failed.");
                }
                if (code == 400 && status == "error" && errorString == "Cannot swap out a VAP device for a non-VAP device.")
                {
                    Assert.IsTrue(true);
                }

                Assert.AreEqual(selectedRoomConst, selectedRoomReturned, "Selected room changed.");
            }
        }
Пример #35
0
 private EquipmentDto TestEquipment_SetTopBox()
 {
     var equipmentDto = new EquipmentDto
     {
         AssociatedSubscriberId = "associatedsubid",
         BlockedServiceList = new List<ServiceDto>(),
         CPE = true,
         CustomFields = new List<CustomFieldDto>(),
         HeadendCode = "04",
         LocationId = "locationid",
         SerialNumber = "stbserialnumber",
         Status = "LOST",
         Type = new EquipmentTypeDto
         {
             Category = EquipmentCategoryDto.SetTopBox,
             Model = "QIP2708"
         },
         UnitAddress = "unitaddress",
         VCI = "1234",
         VPI = "1234"
     };
     return equipmentDto;
 }
Пример #36
0
        public void Index_User_Is_Shown_Index2_View_With_A_Single_ONT_And_A_Single_RG()
        {
            using (ShimsContext.Create())
            {
                // Arrange
                ShimRosettianClient.AllInstances.LoadLocationStringUserDto = delegate { return new LocationDto(); };
                ShimRosettianClient.AllInstances.GetServicesUserDto = delegate { return new ServiceCollectionDto(); };
                const string subscriberID = "999999999999";
                const string subscriberContactPhone = "9999999999";
                const string firstName = "Test";
                const string lastName = "Account";
                const string deviceID = "11111111";
                var myContext = new SIMPLTestContext();

                // Build Fake UserDto
                var fakeUserDto = myContext.GetFakeUserDtoObject();

                // Fake call to CurrentUser.AsUserDto()
                ShimCurrentUser.AsUserDto = () => fakeUserDto;
                ShimCurrentUser.GetInstance = () => new ShimCurrentUser
                {
                    UniqueIdGet = () => "abc123",
                };

                ShimCurrentUser.AllInstances.RolesGet = delegate { return new List<int> { 1 }; };

                // Shim Permissions.UserHasGrant
                ShimPermissions.UserHasGrantGrant = delegate { return true; };

                // Shim feature flag
                ShimFeatureFlags.IsEnabledString = delegate { return true; };

                // Build Fake AccountDto
                var fakeAccountDto = myContext.GetFakeAccountDtoObject();

                // Build Fake CustomFieldDto
                var fakeCustomFieldDto = myContext.GetFakeCustomFieldDto();

                // Build Fake SubscriberDto
                var fakeSubscriberDto = myContext.GetFakeSubscriberDto(subscriberID, firstName, lastName, subscriberContactPhone, fakeCustomFieldDto, fakeAccountDto);

                // Build Fake PhoneNumberAsIdDto (internally builds the Fake TelephoneNumberDto)
                var fakePhoneNumberAsIdDto = myContext.GetFakePhoneNumberAsIdDto(subscriberContactPhone);

                // Build Fake BillingAccountIdDto
                var fakeBillingAccountIdDto = myContext.GetFakeBillingAccountIdDto(subscriberID, fakePhoneNumberAsIdDto);

                // Build Fake CustomerAccountIdDto
                var fakeCustomerAccountIdDto = myContext.GetFakeCustomerAccountIdDto(subscriberID, fakePhoneNumberAsIdDto);

                // Build Fake CustomerAccountDto (internaly builds the Fake IndividualNameDto,
                // the Fake IndividualDto, and the Fake CustomerDto)
                var fakeCustomerAccountDto = myContext.GetFakeCustomerAccountDto(firstName, lastName, subscriberID, fakeBillingAccountIdDto, fakeCustomerAccountIdDto);

                // A single ONT
                var fakeEquipmentTypeDtoONT = new EquipmentTypeDto
                {
                    ONTModel = new ONTModelDto(),
                    Category = EquipmentCategoryDto.ONTDataPort
                };

                var myEquipmentDto1 = new EquipmentDto()
                {
                    Type = fakeEquipmentTypeDtoONT
                };

                // A single ONT
                var fakeEquipmentTypeDtoRG = new EquipmentTypeDto
                {
                    ONTModel = new ONTModelDto(),
                    Category = EquipmentCategoryDto.RGDataPort
                };

                var myEquipmentDto2 = new EquipmentDto()
                {
                    Type = fakeEquipmentTypeDtoRG
                };

                // A single Video Device
                var fakeEquipmentTypeDtoVideoDevice = new EquipmentTypeDto
                {
                    ONTModel = null
                };

                var myEquipmentDto3 = new EquipmentDto()
                {
                    Type = fakeEquipmentTypeDtoVideoDevice
                };

                fakeSubscriberDto.Accounts[0].Equipment = new EquipmentCollectionDto();
                fakeSubscriberDto.Accounts[0].Equipment.Add(myEquipmentDto1);
                fakeSubscriberDto.Accounts[0].Equipment.Add(myEquipmentDto2);
                fakeSubscriberDto.Accounts[0].Equipment.Add(myEquipmentDto3);

                // Build Fake CompositeSubscriber
                var fakeCompositeSubscriber = new CompositeSubscriber()
                {
                    SubscriberTriad = fakeSubscriberDto,
                    SubscriberDpi = fakeCustomerAccountDto
                };

                // Fake the BusinessFacade.LoadCompositeSubscriber call
                ShimBusinessFacade.AllInstances.LoadCompositeSubscriberStringStringUserDto =
                    delegate { return fakeCompositeSubscriber; };

                // Build Fake fakeEquipmentDto
                var fakeEquipmentDto = new List<EquipmentDto>();
                fakeEquipmentDto.Add(myEquipmentDto1);
                fakeEquipmentDto.Add(myEquipmentDto2);
                fakeEquipmentDto.Add(myEquipmentDto3);

                // Fake the RosettianClient.SearchEquipment call
                ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto =
                    (myRosettianClient, mySubscriberID, myUserObject) => fakeEquipmentDto;

                // A single ONT
                var fakeONT = new ONT
                {
                    Type = fakeEquipmentTypeDtoONT
                };

                // A single RG
                var fakeRG = new ONT
                {
                    Type = fakeEquipmentTypeDtoRG
                };

                var fakeONTAndRGList = new List<ONT>();
                fakeONTAndRGList.Add(fakeONT);
                fakeONTAndRGList.Add(fakeRG);

                var fakeONTList = new List<ONT>();
                fakeONTList.Add(fakeONT);

                var fakeRGList = new List<ONT>();
                fakeRGList.Add(fakeRG);

                // Fake the EquipmentExtension.ToONTList call
                SIMPL.Areas.Common.Extensions.Fakes.ShimEquipmentExtension.ToONTListIEnumerableOfEquipmentDto =
                    (myEquipmentList) =>
                    {
                        if (myEquipmentList != null)
                        {
                            var items = myEquipmentList.ToList();

                            if (items.Any())
                            {
                                if (items.Count == 2)
                                {
                                    return fakeONTAndRGList;
                                }
                                if (items[0].Type.Category == EquipmentCategoryDto.ONTDataPort)
                                {
                                    return fakeONTList;
                                }
                                if (items[0].Type.Category == EquipmentCategoryDto.RGDataPort)
                                {
                                    return fakeRGList;
                                }
                            }
                        }

                        return new List<ONT>();
                    };

                // A single Video Device
                var fakeVideoDevice = new SerializableVideoDevice();
                var fakeVideoDeviceList = new List<SerializableVideoDevice>();
                fakeVideoDeviceList.Add(fakeVideoDevice);

                // Fake the EquipmentExtension.ToVideoDeviceList call
                ShimEquipmentExtension.ToVideoDeviceListIEnumerableOfEquipmentDto =
                    (myVideoDeviceList) => fakeVideoDeviceList;

                var currentSubscriber = new ShimCurrentSubscriber
                {
                    SubIdGet = () => "SubId",
                    ProvisionedServicesListGet = () => new List<ServiceDto>()
                };
                ShimCurrentSubscriber.GetInstance = () => currentSubscriber;

                // Fake the CurrentSubscriber.SetInstance call
                ShimCurrentSubscriber.SetInstanceCompositeSubscriberSubscriberModel = (myCompositeSubscriber, mySubscriberModel) => { };

                // Fake the CurrentSubscriber.DataProductType call
                ShimCurrentSubscriber.AllInstances.DataProductTypeGet = (myResult) => SubscriberEnums.DataProductType.Ftth;

                // Fake the CurrentSubscriber.VideoProductType call
                ShimCurrentSubscriber.AllInstances.VideoProductTypeGet = (myResult) => SubscriberEnums.VideoProductType.FiberRf;

                // Fake the CurrentSubscriber.DataProductType call
                ShimCurrentSubscriber.AllInstances.VoiceProductTypeGet = (myResult) => SubscriberEnums.VoiceProductType.FiberPots;

                // Fake the CurrentSubscriber.DataProductType call
                ShimCurrentSubscriber.AllInstances.StateGet = (myResult) => "CT";

                ShimCurrentUser.RetrieveUserRolesString = (myUniqueId) => new List<int>() { 1 };

                //Fake DB call to get Headends
                var headends = new List<HeadEnd>()
                {
                    new HeadEnd()
                    {
                        EntityKey = new EntityKey(),
                        headend_code = "1",
                        headend_loc = "1",
                        headend_name = "1",
                        headend_nbr = 1,
                        location_id = "1",
                        location_nbr = 1
                    }
                };

                ShimDBCache.HeadEndCodesGet = delegate { return headends; };

                //Fake Line Results DB Call.
                var testResultsDbSet = new ShimDbSet<test_results>();

                testResultsDbSet.Bind(new List<test_results>().AsQueryable());

                ShimLineTestEntities.AllInstances.test_resultsGet = delegate { return testResultsDbSet; };

                // 1st Act
                var result = SubscriberControllerForTests.Index(subscriberID, deviceID) as ViewResult;

                // 1st set of Asserts
                Assert.IsNotNull(result, "SubscriberController Index method returned null");
                Assert.IsNotNull(result.ViewName, "result.ViewName method is null");
                const string expectedViewName = "Index2";
                Assert.IsTrue(expectedViewName == result.ViewName, "Expected: " + expectedViewName + ", Actual: " + result.ViewName);
                Assert.IsTrue(result.ViewName.Equals(expectedViewName));
                Assert.IsTrue(result.Model is SubscriberModel, "Not SubscriberModel");

                // 2nd Act
                var testSubscriberModel = result.Model as SubscriberModel;

                // 2nd set of Asserts
                var successCode = "200";
                Assert.AreEqual(successCode, testSubscriberModel.ActionResponse.Code, "Test threw an exception {0}{0}{1}", Environment.NewLine, testSubscriberModel.ActionResponse.Message);

                var jss = new JavaScriptSerializer();
                var expectedModel = fakeCompositeSubscriber.MapToSubscriberModel();
                expectedModel.SubEquipmentModel = new SubscriberEquipmentModel
                {
                    ONTList = fakeONTAndRGList,
                    ONTOnlyList = fakeONTList,
                    RGOnlyList = fakeRGList,
                    VideoDeviceList = fakeVideoDeviceList,
                    AccessDeviceList = fakeONTAndRGList,
                    LoadedSubID = subscriberID,
                    LoadedLocID = expectedModel.SubLocationModel.LocationID,
                    WanIpAddress = string.Empty,
                    MaxStb = string.Empty
                };
                expectedModel.SubLocationModel.LoadedDeviceID = deviceID;
                Assert.AreEqual(jss.Serialize(expectedModel.ActionResponse), jss.Serialize(testSubscriberModel.ActionResponse), "SubscriberModel");
                Assert.AreEqual(jss.Serialize(expectedModel.SubDetailsModel), jss.Serialize(testSubscriberModel.SubDetailsModel), "SubscriberDetailsModel");
                Assert.AreEqual(jss.Serialize(expectedModel.SubLocationModel), jss.Serialize(testSubscriberModel.SubLocationModel), "SubscriberLocationModel");

                // Since deviceID is not null, check to verify that LoadedDeviceID has the expected value
                Assert.AreEqual(deviceID, expectedModel.SubLocationModel.LoadedDeviceID, "LoadedDeviceID should not be string.Empty is deviceID is {0}", deviceID);
                Assert.AreEqual(jss.Serialize(expectedModel.SubServicesModel), jss.Serialize(testSubscriberModel.SubServicesModel), "SubscriberServicesModel");
                Assert.AreEqual(jss.Serialize(expectedModel.SubEquipmentModel.ONTList), jss.Serialize(testSubscriberModel.SubEquipmentModel.ONTList), "SubscriberEquipmentModel ONTList");
                Assert.AreEqual(jss.Serialize(expectedModel.SubEquipmentModel.ONTOnlyList), jss.Serialize(testSubscriberModel.SubEquipmentModel.ONTOnlyList), "SubscriberEquipmentModel ONTOnlyList");
                Assert.AreEqual(jss.Serialize(expectedModel.SubEquipmentModel.RGOnlyList), jss.Serialize(testSubscriberModel.SubEquipmentModel.RGOnlyList), "SubscriberEquipmentModel RGOnlyList");
                Assert.AreEqual(jss.Serialize(expectedModel.SubEquipmentModel.VideoDeviceList), jss.Serialize(testSubscriberModel.SubEquipmentModel.VideoDeviceList), "SubscriberEquipmentModel VideoDeviceList");
                Assert.AreEqual(jss.Serialize(expectedModel.SubEquipmentModel), jss.Serialize(testSubscriberModel.SubEquipmentModel), "SubscriberEquipmentModel entire object");
            }
        }
Пример #37
0
        public void RefreshDevices_HappyPath()
        {
            //Setup
            var myContext = new SIMPLTestContext();

            using (ShimsContext.Create())
            {
                // Given a user
                var fakeUserDto = myContext.GetFakeUserDtoObject();
                ShimCurrentUser.AsUserDto = () => fakeUserDto;

                ShimCurrentSubscriber.AllInstances.LocationIdGet = (currentSubscriber) => "FakeLocationId";
                ShimCurrentSubscriber.AllInstances.MaxStbGet = (currentSubscriber) => "4";

                // Fake the HttpContext
                var context = new ShimHttpContext();
                ShimHttpContext.CurrentGet = () => context;

                // Fake the session state for HttpContext
                var session = new ShimHttpSessionState
                {
                    ItemGetString = s =>
                    {
                        if (s == "")
                            return null;
                        return null;
                    }
                };

                // When the Fake HttpContext is called, provide the fake session state
                ShimHttpContext.AllInstances.SessionGet = (o) => session;

                ShimCurrentSubscriber.SessionInstanceGet = () =>  new ShimCurrentSubscriber();

                // A single ONT
                EquipmentDto myEquipmentDto1 = new EquipmentDto();
                myEquipmentDto1.Status = "ACTIVE";
                myEquipmentDto1.Type = new EquipmentTypeDto();
                myEquipmentDto1.Type.ONTModel = new ONTModelDto();
                myEquipmentDto1.Type.ONTModel.Model = "Model";
                myEquipmentDto1.SerialNumber = "SerialNumber1";

                // A single Video Device
                EquipmentDto myEquipmentDto2 = new EquipmentDto();
                myEquipmentDto2.Status = "IGNORE";
                myEquipmentDto2.Type = new EquipmentTypeDto();
                myEquipmentDto2.Type.ONTModel = null;
                myEquipmentDto2.SerialNumber = "SerialNumber2";

                var equipments = new List<EquipmentDto>();
                equipments.Add(myEquipmentDto1);
                equipments.Add(myEquipmentDto2);

                // Fake the RosettianClient.SearchEquipment call
                ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto =
                    (myRosettianClient, mySubscriberID, myUserObject) => equipments;

                // When loading that device
                var actionResult = SubscriberControllerForTests.RefreshDevices() as PartialViewResult;

                Assert.IsNotNull(actionResult, "ViewResult is null.");
                var equipmentModel = actionResult.Model as SubscriberEquipmentModel;
                Assert.IsNotNull(equipmentModel, "ViewModel is null.");
                Assert.IsNotNull(equipmentModel.ONTList, "ONTList is null");
                Assert.IsTrue(equipmentModel.ONTList.Count >= 0);
                Assert.IsNotNull(equipmentModel.VideoDeviceList, "VideoDeviceList is null");
                Assert.IsTrue(equipmentModel.VideoDeviceList.Count >= 0);
            }
        }
Пример #38
0
 /// <summary>
 /// RestoreEquip - returns EquipmentDto - calls either Rosettian CreateEquipment or UpdateEquipment
 /// </summary>
 /// <param name="equip"></param>
 /// <returns></returns>
 protected static EquipmentDto RestoreEquip(EquipmentDto equip)
 {
     using (var client = new RosettianClient())
     {
         if (!client.EquipmentExists(equip.SerialNumber, user))
         {
             client.CreateEquipment(equip, user);
         }
         else
         {
             client.UpdateEquipment(equip, user);
         }
         return equip;
     }
 }
        public void Index_HappyPath()
        {
            using (ShimsContext.Create())
            {

                //Arrange
                var myContext = new SIMPLTestContext();

                //Build FakeDto
                var fakeUserDto = myContext.GetFakeUserDtoObject();

                //Fake call to CurrentUser.AsUserDto()
                ShimCurrentUser.AsUserDto = () => fakeUserDto;

                // Fake the HttpContext
                var context = new ShimHttpContext();
                ShimHttpContext.CurrentGet = () => context;

                // SIMPL.Session.Fakes.ShimCurrentSubscriber.SessionInstanceGet = () => new ShimCurrentSubscriber();

                // Fake the session state for HttpContext
                var session = new ShimHttpSessionState
                {
                    ItemGetString = s =>
                    {
                        if (s == "")
                            return null;
                        return null;
                    }
                };

                // When the Fake HttpContext is called, provide the fake session state
                ShimHttpContext.AllInstances.SessionGet = o => session;

                //Expected result
                const string expectedIpAddressLabel = "WAN_IP_ADDR";
                const string expectedIpAddressValue = "10.143.22.1";
                const string expectedBaseModelValue = "A5550";
                const string expectedSerialNumber = "PACE99999991";
                const string expectedUnitAddress = "0D-U9-M6-D2-D7";
                const string expectedLocationId = "locId";
                const string expectedRoomLocationLabel = "ROOM_LOCATION";
                const string expectedRoomLocationValue = "TEST ROOM";
                const string expectedMacAddressLable = "ENET_MAC_ADDR";
                const string expectedMacAddressValue = "A0B1C2D3E4F5";

                var customFieldsDto = new List<CustomFieldDto>();
                var expectedIpAddressCustomField = new CustomFieldDto
                {
                    Label = expectedIpAddressLabel,
                    Value = expectedIpAddressValue,
                };
                customFieldsDto.Add(expectedIpAddressCustomField);

                var expectedRoomLocationCustomField = new CustomFieldDto
                {
                    Label = expectedRoomLocationLabel,
                    Value = expectedRoomLocationValue
                };
                customFieldsDto.Add(expectedRoomLocationCustomField);

                var expectedMacAddressCustomField = new CustomFieldDto
                {
                    Label = expectedMacAddressLable,
                    Value = expectedMacAddressValue
                };
                customFieldsDto.Add(expectedMacAddressCustomField);

                var customFieldsCollection = new CustomFieldCollectionDto
                {
                    expectedIpAddressCustomField,
                    expectedRoomLocationCustomField,
                    expectedMacAddressCustomField
                };

                var RgType = new EquipmentTypeDto
                {
                    ONTModel = new ONTModelDto
                    {
                        BaseModel = expectedBaseModelValue
                    },
                    Category = EquipmentCategoryDto.RGDataPort
                };

                var IPVideoType = new EquipmentTypeDto
                {
                    ONTModel = new ONTModelDto
                    {
                        BaseModel = expectedBaseModelValue
                    },
                    Category = EquipmentCategoryDto.DVR,
                    IptvCapable = true
                };

                var equipmentDataDto = new EquipmentDto
                {
                    SerialNumber = expectedSerialNumber + "D01",
                    CustomFields = customFieldsDto,
                    UnitAddress = expectedUnitAddress,
                    LocationId = expectedLocationId,
                    Type = RgType,
                    Status = "ACTIVE"
                };

                var equipmentPhoneDto = new EquipmentDto
                {
                    SerialNumber = expectedSerialNumber + "P01",
                    CustomFields = customFieldsDto,
                    UnitAddress = expectedUnitAddress,
                    LocationId = expectedLocationId,
                    Type = RgType,
                    Status = "ACTIVE"
                };

                var ipVideoDevice = new EquipmentDto
                {
                    SerialNumber = expectedSerialNumber + "P01",
                    CustomFields = customFieldsDto,
                    UnitAddress = expectedUnitAddress,
                    LocationId = expectedLocationId,
                    Type = IPVideoType,
                    Status = "ACTIVE"
                };

                var searchEquipmentsResult = new List<EquipmentDto>();
                searchEquipmentsResult.Add(equipmentDataDto);
                searchEquipmentsResult.Add(equipmentPhoneDto);
                searchEquipmentsResult.Add(ipVideoDevice);

                var loadSubscriberPhonesResult = new List<PhoneDto>();

                // shim CurrentSubscriber WanIpAddress
                ShimCurrentSubscriber.GetInstance = () => new ShimCurrentSubscriber
                {
                    WanIpAddressGet = () => expectedIpAddressValue,
                    ProvisionedPhonesListGet = () => loadSubscriberPhonesResult
                };

                ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto =
                    (myTestClient, mySearchFields, myUserDto) => searchEquipmentsResult;

                equipmentDataDto.CustomFields = customFieldsDto;

                ShimRosettianClient.AllInstances.LoadEquipmentStringBooleanUserDto =
                    (myTestClient, myEquipmentId, returnExtraData, myUserDto) => equipmentDataDto;

                ShimRosettianClient.AllInstances.GetCustomFieldsUserDto =
                    (myTestClient, myUserDto) => customFieldsCollection;

                ShimVirtualPathUtility.ToAbsoluteString =
                    (myTestString) => @"http://testapp/images/DVR.png";

                ShimDBCache.LocationsGet = delegate { return new List<Location>(); };

                var residentialController = DependencyResolver.Current.GetService<ResidentialGatewayController>();
                var result = residentialController.Index("subID", "locID", "devID") as PartialViewResult ?? new PartialViewResult();
                Assert.IsNotNull(result, "Partial view result returned is null.");
                Assert.IsTrue(result.ViewName.Equals("Index"), "View names do not match.");
                Assert.AreEqual(expectedIpAddressValue, ((ResidentialGatewayModel)(result.Model)).IPAddress, "Expected IP does not match with actual IP.");
                Assert.AreEqual(expectedUnitAddress, ((ResidentialGatewayModel)(result.Model)).UnitAddress, "Expected UnitAddress does not match with actual Unit Address.");
                Assert.AreEqual(expectedMacAddressValue, ((ResidentialGatewayModel)(result.Model)).MacAddress, "Expected MacAddress does not match with actual Mac Address.");
                Assert.AreEqual(expectedBaseModelValue, ((ResidentialGatewayModel)(result.Model)).Model, "Expected Model number does not match with actual Model number.");
                Assert.AreEqual(expectedSerialNumber, ((ResidentialGatewayModel)(result.Model)).ID, "Expected serial number does not match with actual serial number.");
                Assert.IsTrue(((ResidentialGatewayModel)(result.Model)).VideoDevices.Any(), "No video devices found.");
                Assert.IsTrue(((ResidentialGatewayModel)(result.Model)).VideoDevices.First().Type.Equals("DVR"), "IP Video device type mismatch.");
                Assert.IsTrue(((ResidentialGatewayModel)(result.Model)).VideoDevices.First().RoomLocation.Any(), "No Room locations found.");
            }
        }
Пример #40
0
        public void EditBlockedServices_SubServicesAreBlockedOnDevice_ValidateUserAbleToLoadEditBlockedServicesCorrectly()
        {
            using (ShimsContext.Create())
            {
                // Given a user
                ShimCurrentUser.AsUserDto = () => new UserDto();

                // And a valid subscriber id
                const string subId = "sub12345";

                // And the subscriber has a provisioned location
                const string locId = "loc12345";

                // And the subscriber has a list of services
                var services = new ServiceCollectionDto
                {
                    new ServiceDto {ClassName = "DATA - FTTH SPEED", Name = "F10M02M", Description = "10M DOWN 2M UP"},
                    new ServiceDto {ClassName = "DATA - ONT PORT", Name = "ENET", Description = "RJ-45 ETHERNET PORT"},
                    new ServiceDto {ClassName = "VOICE", Name = "VOICE", Description = "FTTH VOICE SERVICE"},
                    new ServiceDto {ClassName = "RF - BASICS", Name = "FIOS", Description = "FIOS VIDEO SERVICE"},
                    new ServiceDto {ClassName = "RF - PREMIUMS", Name = "FIHBO", Description = "HBO"}
                };

                // And the subscriber has an equipment which has all above services blocked
                var equip = new EquipmentDto
                {
                    SerialNumber = "equip12345",
                    LocationId = locId,
                    AssociatedSubscriberId = subId,
                    BlockedServiceList = services
                };

                // And the subscriber has a valid account with above location, services, and equipment
                var subscriberDto = new SubscriberDto
                {
                    ID = subId,
                    Accounts = new List<AccountDto>
                    {
                        new AccountDto
                        {
                            Location = new LocationDto {ID = locId},
                            Services = services,
                            Equipment = new EquipmentCollectionDto {equip}
                        }
                    }
                };

                ShimRosettianClient.AllInstances.LoadSubscriberStringUserDto =
                    (myTestClient, mySubId, myUserDto) => subscriberDto;

                ShimServices.ProvisioningServicesGet = () => services;

                // And the blocked service list AsCategorizedServiceDictionary
                var expectedBlockedServices = equip.BlockedServiceList.AsCategorizedServiceDictionary();

                // And the blockedServicesAsJson
                var blockedServicesAsJson = ServicesControllerHelper.ConvertServicesToJSON(equip.BlockedServiceList);

                // When loading that EditBlockedServices for the subscriber id and device id
                var servicesController = DependencyResolver.Current.GetService<ServicesController>();
                var result = servicesController.EditBlockedServices(blockedServicesAsJson, subId, equip.SerialNumber, "") as PartialViewResult;

                // Then the user receives a response
                Assert.IsNotNull(result, "ServiceController EditBlockedServices method returned null");

                // And the response is successful
                Assert.AreEqual("EditBlockedServices_Partial", result.ViewName, "ViewName does not match");
                var actualServicesModel = result.Model as ServicesModel;
                Assert.IsNotNull(actualServicesModel, "actualServicesModel");

                // And the subscriber matches the requested subscriber
                Assert.AreEqual(subId, actualServicesModel.SubscriberID, "SubscriberID does not match");

                // And the device matches the requested device
                Assert.AreEqual(equip.SerialNumber, actualServicesModel.DeviceID, "DeviceID does not match");

                // And the blocked services list matches the requested blocked services list
                var jss = new JavaScriptSerializer();
                Assert.AreEqual(jss.Serialize(expectedBlockedServices), jss.Serialize(actualServicesModel.BlockedServicesList), "BlockedServiceList does not match");

                // And the ServicesAsJSON result matches the blockedServicesAsJson
                Assert.AreEqual(blockedServicesAsJson, actualServicesModel.ServicesAsJSON, "ServiceAsJSON does not match");

                // And the subscriber services list is empty since all subscriber services are blocked on the device
                Assert.AreEqual(0, actualServicesModel.SubscriberServicesList.Count, "SubscriberServiceList is not empty");
            }
        }
Пример #41
0
 private EquipmentDto TestEquipment_ONTPort()
 {
     var equipmentDto = new EquipmentDto
     {
         AssociatedSubscriberId = "associatedsubid",
         BlockedServiceList = new List<ServiceDto>(),
         CPE = true,
         CustomFields = new List<CustomFieldDto>(),
         HeadendCode = "04",
         LocationId = "locationid",
         SerialNumber = "ontserialnumber",
         Status = "FIELD RETURN",
         Type = new EquipmentTypeDto
         {
             Category = EquipmentCategoryDto.ONTDataPort,
             Model = "ONT612"
         },
         UnitAddress = "unitaddress",
         VCI = "1234",
         VPI = "1234"
     };
     return equipmentDto;
 }
        private static EquipmentDto RgTestData_IpVideoDevice2(CustomFieldCollectionDto customFieldsDto, string expectedLocationId)
        {
            var ipVideoType = new EquipmentTypeDto
            {
                Model = "ISP7005",
                Category = EquipmentCategoryDto.DVR,
                IptvCapable = true
            };

            // ip video device
            var ipVideoDevice = new EquipmentDto
            {
                SerialNumber = "STBTEST3457",
                CustomFields = customFieldsDto.Where(x => x.Label == "ROOM_LOCATION" || x.Label == "SELECTED_ROOM").ToList(),
                UnitAddress = null,
                LocationId = expectedLocationId,
                Type = ipVideoType,
                Status = "ACTIVE"
            };
            return ipVideoDevice;
        }
Пример #43
0
        /// <summary>
        /// NewEquipment - creates EquipmentDto based on the values passed in
        /// </summary>
        /// <param name="category"></param>
        /// <param name="manufacturer"></param>
        /// <returns></returns>
        public static EquipmentDto NewEquipment(EquipmentCategoryDto category, string manufacturer = null)
        {
            var equipTypes = EquipmentTypes().Where(e => e.Category == category).ToArray();
            var statuses = Enum.GetValues(typeof (SIMPLDbEnums.EquipStatusEnum));
            var rand = new Random();

            var equip = new EquipmentDto();
            var sub = NewSubscriberData();
            var loc = NewLocationData();
            equip.AssociatedSubscriberId = sub.ID;
            equip.BlockedServiceList = new ServiceCollectionDto();
            equip.CPE = true;
            equip.CustomFields = new List<CustomFieldDto>();
            equip.HeadendCode = "04";
            equip.LocationId = loc.ID;
            equip.SerialNumber = GenerateEquipmentSerial(category, manufacturer);
            equip.Status = ((SIMPLDbEnums.EquipStatusEnum) statuses.GetValue(rand.Next(statuses.Length))).GetStringValue();
            equip.Type = (EquipmentTypeDto) equipTypes.GetValue(rand.Next(equipTypes.Length));
            equip.UnitAddress = rand.Next(100000000, 999999999).ToString();
            equip.VCI = rand.Next(9999).ToString();
            equip.VPI = rand.Next(9999).ToString();

            return equip;
        }
Пример #44
0
        public void Index_When_Subscriber_Has_CopperFacility_And_Should_Be_Redirected_To_CopperFacility_Page_One_XBox_Multiple_DropTerm_Not_In_The_Correct_Order()
        {
            using (ShimsContext.Create())
            {
                const string subscriberID = "999000795553";
                const string locationID = "";
                const string deviceID = "";

                var session = GetShimmedSession();

                // Fake the HttpContext
                var context = new ShimHttpContext();
                ShimHttpContext.CurrentGet = () => context;

                var mySIMPLTestContext = new SIMPLTestContext();

                var expectedTDMSwitch = mySIMPLTestContext.GetFakeTDMSwitch();

                var expectedGWR = mySIMPLTestContext.GetFakeGWRDto();

                var expectedDSLAM = mySIMPLTestContext.GetFakeDSLAM();

                const int numberOfXConnectItems = 1;
                var previousXConnectTerminalNames = new string[]
                {
                    "TerminalAssignmentDtoXbox0{0}_PreviousTerminalNameValue"
                };
                var currentXConnectTerminalNames = new string[]
                {
                    "TerminalAssignmentDtoXbox0{0}_TerminalNameValue"
                };
                var expectedXConnectList = mySIMPLTestContext.GetFakeListXConnect(numberOfXConnectItems, previousXConnectTerminalNames, currentXConnectTerminalNames);

                const int numberOfDropTermItems = 3;
                var previousDropTermTerminalNames = new string[]
                {
                    "TerminalAssignmentDtoXbox01_TerminalNameValue",
                    "TerminalAssignmentDtoDropTerm01_TerminalNameValue",
                    "TerminalAssignmentDtoDropTerm02_TerminalNameValue"
                };
                var currentDropTermTerminalNames = new string[]
                {
                    "TerminalAssignmentDtoDropTerm01_TerminalNameValue",
                    "TerminalAssignmentDtoDropTerm02_TerminalNameValue",
                    "TerminalAssignmentDtoDropTerm03_TerminalNameValue",
                };
                var expectedDropTermList = mySIMPLTestContext.GetFakeListDropTerm(numberOfDropTermItems, previousDropTermTerminalNames, currentDropTermTerminalNames);

                var expectedDropTermSequenceList = new List<List<DropTerm>>
                {
                    expectedDropTermList
                };

                var expectedFacilityAddress = mySIMPLTestContext.GetFakeFacilityAddress();

                var localServicePathList = mySIMPLTestContext.GetFakeListServicePath();

                var expectedServiceLocation = mySIMPLTestContext.GetFakeServiceLocation(expectedFacilityAddress, localServicePathList, subscriberID);

                var expectedMappedData = new CopperFacilityViewModel
                {
                    Environment = "Parent_Environment",
                    TDMSwitch = expectedTDMSwitch,
                    GWR = expectedGWR,
                    DSLAM = expectedDSLAM,
                    XConnectList = expectedXConnectList,
                    DropTermSequenceList = expectedDropTermSequenceList,
                    ServiceLocation = expectedServiceLocation
                };

                // When the Fake HttpContext is called, provide the fake session state
                ShimHttpContext.AllInstances.SessionGet = (o) => session;

                // Fake the CurrentSubscriber.SubId call
                ShimCurrentSubscriber.AllInstances.SubIdGet = (myProperty) => subscriberID;

                // Fake the CurrentSubscriber.SubId call
                ShimCurrentSubscriber.AllInstances.LocationIdGet = (myProperty) => locationID;
                ShimCurrentSubscriber.AllInstances.DpiRegionGet = delegate { return "CT"; };

                var numberOfXBoxItems = numberOfXConnectItems;
                var previousXBoxTerminalNames = previousXConnectTerminalNames;
                var currentXBoxTerminalNames = currentXConnectTerminalNames;
                var fakeListTerminalAssignmentDtoForXBox = mySIMPLTestContext.GetFakeListTerminalAssignmentDtoForXBox(numberOfXBoxItems, previousXBoxTerminalNames, currentXBoxTerminalNames);

                var fakeListTerminalAssignmentDto = fakeListTerminalAssignmentDtoForXBox.ToList();

                var fakeListTerminalAssignmentDtoForDropTerm = mySIMPLTestContext.GetFakeListTerminalAssignmentDtoForDropTerm(numberOfDropTermItems, previousDropTermTerminalNames, currentDropTermTerminalNames);

                // swamp all of the items in the fakeListTerminalAssignmentDtoForDropTerm
                var tempDropTermTerminalAssignmentDto = fakeListTerminalAssignmentDtoForDropTerm[0];
                fakeListTerminalAssignmentDtoForDropTerm[0] = fakeListTerminalAssignmentDtoForDropTerm[1];
                fakeListTerminalAssignmentDtoForDropTerm[1] = fakeListTerminalAssignmentDtoForDropTerm[2];
                fakeListTerminalAssignmentDtoForDropTerm[2] = tempDropTermTerminalAssignmentDto;

                fakeListTerminalAssignmentDto.AddRange(fakeListTerminalAssignmentDtoForDropTerm);

                var fakePairAssignmentDto = mySIMPLTestContext.GetFakePairAssignmentDto(fakeListTerminalAssignmentDto);

                var fakeListPairAssignmentDto = new List<PairAssignmentDto>
                {
                    fakePairAssignmentDto
                };

                var fakeCopperPlantDataDto = mySIMPLTestContext.GetFakeCopperPlantDataDto(fakeListPairAssignmentDto);

                var fakePlantDataDto = new PlantDataDto
                {
                    CopperPlantData = fakeCopperPlantDataDto
                };

                var fakeServiceAddressDto = mySIMPLTestContext.GetFakeServiceAddressDto();

                var fakeGetFacilitiesResponseDto = mySIMPLTestContext.GetFakeGetFacilitiesResponseDto(subscriberID, fakeServiceAddressDto, fakePlantDataDto);

                ShimEnterpriseClient.AllInstances.GetFacilitiesDataGetFacilitiesRequestDtoHeaderArgs =
                    delegate { return fakeGetFacilitiesResponseDto; };

                ShimCurrentSubscriber.AllInstances.FacilitiesDataGet = (myProperty) => fakeGetFacilitiesResponseDto;

                // Fake the FacilityViewModel.ShouldShowFiber call
                ShimFacilityViewModel.AllInstances.GetFacilityTypeStringString = delegate { return FacilityType.Copper; };

                // A single ONT
                EquipmentDto myEquipmentDto1 = new EquipmentDto();
                myEquipmentDto1.Type = new EquipmentTypeDto();
                myEquipmentDto1.Type.ONTModel = new ONTModelDto();
                myEquipmentDto1.SerialNumber = "123456";

                // A single Video Device
                EquipmentDto myEquipmentDto2 = new EquipmentDto();
                myEquipmentDto2.Type = new EquipmentTypeDto();
                myEquipmentDto2.Type.ONTModel = null;
                myEquipmentDto2.SerialNumber = "123456";

                // Build Fake fakeEquipmentDto
                var fakeEquipmentDto = new List<EquipmentDto>();
                fakeEquipmentDto.Add(myEquipmentDto1);
                fakeEquipmentDto.Add(myEquipmentDto2);

                var fakeUserDto = new UserDto()
                {
                    Email = "FakeEmail",
                    Name = "FakeName",
                    Role = "FakeRole"
                };

                // Fake the RosettianClient.SearchEquipment call
                ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto =
                    (myRosettianClient, mySubscriberID, myUserObject) => fakeEquipmentDto;

                //Fake call to CurrentUser.AsUserDto()
                ShimCurrentUser.AsUserDto = () => fakeUserDto;
                // 1st Act
                var result = EquipmentControllerForTests.Index(subscriberID, locationID, deviceID);

                // 1st set of Asserts
                Assert.IsNotNull(result, "EquipmentController Index returned null");
                Assert.IsTrue(result is PartialViewResult, "Not a PartialViewResult");

                // 2nd Act
                var resultPartialViewResult = (PartialViewResult)result;

                // 2nd set of Asserts
                Assert.IsNotNull(resultPartialViewResult, "Cast to PartialViewResult is null");
                Assert.IsNotNull(resultPartialViewResult.Model, "Model is null");
                Assert.IsTrue(resultPartialViewResult.Model is CopperFacilityViewModel, "Model not CopperFacilityViewModel");

                // 3rd Act
                var resultPartialViewResultModel = (CopperFacilityViewModel)resultPartialViewResult.Model;

                // 3rd set of Asserts
                var successCode = "200";
                Assert.AreEqual(successCode, resultPartialViewResultModel.ActionResponse.Code, "Test threw an exception {0}{0}{1}", Environment.NewLine, resultPartialViewResultModel.ActionResponse.Message);

                // 4th Act
                var jss = new JavaScriptSerializer();

                // 4th set of Asserts
                Assert.AreEqual(jss.Serialize(expectedMappedData.DropTermSequenceList), jss.Serialize(resultPartialViewResultModel.DropTermSequenceList), "DropTermSequenceList didn't match");
                Assert.AreEqual(jss.Serialize(expectedMappedData.DSLAM), jss.Serialize(resultPartialViewResultModel.DSLAM), "DSLAM didn't match");
                Assert.AreEqual(jss.Serialize(expectedMappedData.Environment), jss.Serialize(resultPartialViewResultModel.Environment), "Enviroment didn't match");
                Assert.AreEqual(jss.Serialize(expectedMappedData.GWR), jss.Serialize(resultPartialViewResultModel.GWR), "GWR didn't match");
                Assert.AreEqual(jss.Serialize(expectedMappedData.PathCount), jss.Serialize(resultPartialViewResultModel.PathCount), "PathCount didn't match");
                Assert.AreEqual(jss.Serialize(expectedMappedData.ServiceLocation), jss.Serialize(resultPartialViewResultModel.ServiceLocation), "ServiceLocation didn't match");
                Assert.AreEqual(jss.Serialize(expectedMappedData.TDMSwitch), jss.Serialize(resultPartialViewResultModel.TDMSwitch), "TDMSwitch didn't match");
                Assert.AreEqual(jss.Serialize(expectedMappedData.XConnectList), jss.Serialize(resultPartialViewResultModel.XConnectList), "XConnectList didn't match");
            }
        }
        public void ActivateResidentialGateway_hasNoMainRg_hasListOtherRgs_hasIpVideoDevice_ValidateSuccessScenario()
        {
            using (ShimsContext.Create())
            {
                //Arrange
                var myContext = new SIMPLTestContext();

                //Build FakeDto
                var fakeUserDto = myContext.GetFakeUserDtoObject();

                //Fake call to CurrentUser.AsUserDto()
                ShimCurrentUser.AsUserDto = () => fakeUserDto;

                // Fake the HttpContext
                var context = new ShimHttpContext();
                ShimHttpContext.CurrentGet = () => context;

                // Fake the session state for HttpContext
                var session = new ShimHttpSessionState
                {
                    ItemGetString = s =>
                    {
                        if (s == "")
                            return null;
                        return null;
                    }
                };

                // When the Fake HttpContext is called, provide the fake session state
                ShimHttpContext.AllInstances.SessionGet = o => session;

                //Expected result
                const string expectedIpAddressLabel = "WAN_IP_ADDR";
                const string expectedIpAddressValue = "10.143.22.1";
                const string expectedBaseModelValue = "A5550";
                const string expectedSerialNumber = "PACE99999991";
                const string expectedUnitAddress = "001E46";
                const string expectedLocationId = "123456789";
                const string expectedRoomLocationLabel = "ROOM_LOCATION";
                const string expectedRoomLocationValue = "TEST ROOM";
                const string expectedMacAddressLable = "ENET_MAC_ADDR";
                const string expectedMacAddressValue = "A0B1C2D3E4F5";
                const string expectedSelectedRoomLabel = "SELECTED_ROOM";
                const string expectedSelectedRoomValue = "MASTER BED ROOM";

                var customFieldsDto = new List<CustomFieldDto>();
                // RG custom fields
                var expectedIpAddressCustomField = new CustomFieldDto
                {
                    Label = expectedIpAddressLabel,
                    Value = expectedIpAddressValue,
                };
                customFieldsDto.Add(expectedIpAddressCustomField);

                var expectedMacAddressCustomField = new CustomFieldDto
                {
                    Label = expectedMacAddressLable,
                    Value = expectedMacAddressValue
                };
                customFieldsDto.Add(expectedMacAddressCustomField);

                // ip video device custom fields
                var expectedRoomLocationCustomField = new CustomFieldDto
                {
                    Label = expectedRoomLocationLabel,
                    Value = expectedRoomLocationValue
                };
                customFieldsDto.Add(expectedRoomLocationCustomField);

                var expectedSelectedRoomCustomField = new CustomFieldDto
                {
                    Label = expectedSelectedRoomLabel,
                    Value = expectedSelectedRoomValue
                };
                customFieldsDto.Add(expectedSelectedRoomCustomField);

                var customFieldsCollection = new CustomFieldCollectionDto
                {
                    expectedIpAddressCustomField,
                    expectedRoomLocationCustomField,
                    expectedMacAddressCustomField
                };

                var rgType = new EquipmentTypeDto
                {
                    ONTModel = new ONTModelDto
                    {
                        BaseModel = expectedBaseModelValue
                    },
                    Category = EquipmentCategoryDto.RGDataPort
                };

                var ipVideoType = new EquipmentTypeDto
                {
                    Model = "ISP7500",
                    Category = EquipmentCategoryDto.DVR,
                    IptvCapable = true
                };

                // main active RG
                var equipmentDataDto = new EquipmentDto
                {
                    SerialNumber = expectedSerialNumber + "D01",
                    CustomFields = customFieldsDto,
                    UnitAddress = expectedUnitAddress,
                    LocationId = expectedLocationId,
                    Type = rgType,
                    Status = "ACTIVE"
                };
                var mainRg = new List<EquipmentDto>
                {
                    equipmentDataDto,
                    new EquipmentDto
                    {
                        SerialNumber = expectedSerialNumber + "P01",
                        CustomFields = customFieldsDto,
                        UnitAddress = expectedUnitAddress,
                        LocationId = expectedLocationId,
                        Type = rgType,
                        Status = "ACTIVE"
                    },
                    new EquipmentDto
                    {
                        SerialNumber = expectedSerialNumber + "P02",
                        CustomFields = customFieldsDto,
                        UnitAddress = expectedUnitAddress,
                        LocationId = expectedLocationId,
                        Type = rgType,
                        Status = "ACTIVE"
                    }
                };

                // ip video device
                var ipVideoDevice = new EquipmentDto
                {
                    SerialNumber = "STBTEST1234",
                    CustomFields = new List<CustomFieldDto> { expectedRoomLocationCustomField },
                    UnitAddress = "1234567890",
                    LocationId = expectedLocationId,
                    Type = ipVideoType,
                    Status = "ACTIVE"
                };

                // other RGs on the account
                var otherRgs = new List<EquipmentDto>
                {
                    new EquipmentDto
                    {
                        SerialNumber = "RGCREATE1234" + "D01",
                        CustomFields = customFieldsDto,
                        UnitAddress = expectedUnitAddress,
                        LocationId = expectedLocationId,
                        Type = rgType,
                        Status = "IGNORE"
                    },
                    new EquipmentDto
                    {
                        SerialNumber = "RGCREATE2345" + "D01",
                        CustomFields = customFieldsDto,
                        UnitAddress = expectedUnitAddress,
                        LocationId = expectedLocationId,
                        Type = rgType,
                        Status = "IGNORE"
                    },
                    new EquipmentDto
                    {
                        SerialNumber = "RGCREATE3456" + "D01",
                        CustomFields = customFieldsDto,
                        UnitAddress = expectedUnitAddress,
                        LocationId = expectedLocationId,
                        Type = rgType,
                        Status = "IGNORE"
                    },
                };

                // set location
                ShimCurrentSubscriber.AllInstances.LocationIdGet = o => expectedLocationId;

                // set WanIpAddress
                ShimCurrentSubscriber.AllInstances.SubIdGet = o => "1234567";
                ShimCurrentSubscriber.AllInstances.WanIpAddressGet = o => "12:12:12:12";
                ShimRosettianClient.AllInstances.LoadSubscriberStringUserDto = (client, subId, userDto) => new SubscriberDto();
                ShimCurrentSubscriber.UpdateWanIpAddressString = (myWanIpAddress) => { };

                // set activate residential gateway to true
                ShimRosettianClient.AllInstances.ActivateResidentialGatewayStringStringUserDto =
                    (myTestclient, mylocationId, myDeviceId, userDto) => true;

                // expected search results after Activate RG
                var searchEquipmentsResult = new List<EquipmentDto>();
                searchEquipmentsResult.AddRange(mainRg);
                searchEquipmentsResult.AddRange(otherRgs);
                searchEquipmentsResult.Add(ipVideoDevice);

                // set search results to expected
                ShimRosettianClient.AllInstances.SearchEquipmentSearchFieldsDtoUserDto =
                    (myTestClient, mySearchFields, myUserDto) => searchEquipmentsResult;

                // expected custom fields
                equipmentDataDto.CustomFields = customFieldsDto;

                // set load eqiupment for main RG
                ShimRosettianClient.AllInstances.LoadEquipmentStringBooleanUserDto =
                    (myTestClient, myEquipmentId, returnExtraData, myUserDto) => equipmentDataDto;

                // set custom fields
                ShimRosettianClient.AllInstances.GetCustomFieldsUserDto = (myTestClient, myUserDto) => customFieldsCollection;

                // set ip video device path
                ShimVirtualPathUtility.ToAbsoluteString = (myTestString) => @"http://testapp/images/DVR.png";

                // get service for ResidentialGatewayController
                var residentialController = DependencyResolver.Current.GetService<ResidentialGatewayController>();

                // call ActivateResidentialGateway of ResidentialGatewayController
                var result = residentialController.ActivateResidentialGateway(expectedSerialNumber, expectedLocationId) as JsonResult;

                // validate json result
                Assert.IsNotNull(result, "Returned Json result is null");

                dynamic resultData = result.Data;
                var status = resultData.status as string;
                var errorMessage = string.Empty;
                if (status == "error")
                {
                    errorMessage = resultData.errorMessage;
                }
                Assert.AreEqual("valid", status, "status is not valid - {0}", errorMessage);
                var renderedPartial = resultData.returnedPartial as string;
                Assert.IsNotNull(renderedPartial, "Prerendered partial is null.");
            }
        }
Пример #46
0
 private EquipmentDto TestEquipment_VideoAccessPoint()
 {
     var equipmentDto = new EquipmentDto
     {
         AssociatedSubscriberId = "associatedsubid",
         BlockedServiceList = new List<ServiceDto>(),
         CPE = true,
         CustomFields = new List<CustomFieldDto>(),
         HeadendCode = "04",
         LocationId = "locationid",
         SerialNumber = "vapserialnumber",
         Status = "LOST",
         Type = new EquipmentTypeDto
         {
             Category = EquipmentCategoryDto.VideoAccessPoint,
             Model = "VAP2500",
             WirelessCapable = true
         },
         UnitAddress = "unitaddress",
         VCI = "1234",
         VPI = "1234",
     };
     return equipmentDto;
 }