public static void DeletePhoneFromSubscriberAccount(string subID, string phoneNumber) { try { using (var client = new RosettianClient()) { client.DeleteSubscriberPhone(subID, phoneNumber, CurrentUser.AsUserDto()); } } catch (Exception) { } }
public void SIMPL_should_be_able_to_consume_the_Rosettian_Provisioning_Service_and_call_GetEquipmentModelsAndTypes_method_without_throwing_an_exception() { try { using (var client = new RosettianClient()) { client.GetEquipmentModelsAndTypes(UserDto.SIMPLSystemUser); } } catch (Exception ex) { Assert.Fail("Exception was thrown: {0}", ex); } }
public static void AddPhoneToSubscriberAccount(string subID, PhoneDto phone) { try { using (var client = new RosettianClient()) { client.CreateSubscriberPhone(subID, phone, CurrentUser.AsUserDto()); } } catch (FaultException<ValidationFault> vx) { throw new Exception(vx.Detail.Details[0].Message, vx); } catch (Exception ex) { throw new Exception(Errors.parseXMLError(ex.Message), ex); } }
public void SvcController_EditBlockedServices_allBlocked() { //Data initialization var sub = Data.Data.Simplcpe1(); var dev = sub.Accounts[0].Equipment.FirstOrDefault(); PartialViewResult result = null; if (dev != null) { dev.BlockedServiceList = sub.Accounts[0].Services; using (var client = new RosettianClient()) { client.UpdateEquipment(dev, _user); } //Click Edit for Blocked Services var expectedSvcAsJSON = ServicesControllerHelper.ConvertServicesToJSON(dev.BlockedServiceList); result = _serviceController.EditBlockedServices(expectedSvcAsJSON, sub.ID, dev.SerialNumber, "") as PartialViewResult; } ServicesModel actualSvcModel = null; if (result != null) { Common.Validation.Validate("BlockedServicesWindow", result.ViewName, "ViewName"); actualSvcModel = result.Model as ServicesModel; } if (dev != null) if (actualSvcModel != null) Assert.AreEqual((object) dev.SerialNumber, actualSvcModel.DeviceID); if (actualSvcModel != null) { Assert.AreEqual(sub.ID, actualSvcModel.SubscriberID); //Validate the services Common.Validation.ValidateService(sub.Accounts[0].Services, ServicesControllerHelper.ConvertJSONToServices(actualSvcModel.ServicesAsJSON), TestAttribute.Service); //Validate Unblocked Subscriber Services is empty Assert.AreEqual(0, actualSvcModel.SubscriberServicesList.Count); //Validate Blocked Services displayed matches the actual blocked services ValidateBlockedServices(dev.BlockedServiceList, actualSvcModel.BlockedServicesList); } }
public void EditBlockedServicesMethod_AllBlocked() { { // Arrange PartialViewResult resultEditBlockedServices = null; //string expectedServicesAsJSON = null; const string ExpectedViewName = "EditBlockedServices_Partial"; ServicesModel actualServicesModel = null; List<ServiceDto> expectedServiceList = null; ServiceCollectionDto actualServices = null; SubscriberDto expectedSubscriber = SIMPL.Test.IntegrationTest.Data.Data.GetSIMPLSubscriber04CPE01(); Assert.IsNotNull(expectedSubscriber, "subscriber"); Assert.IsNotNull(expectedSubscriber.ID, "subscriber.ID"); // ** Subscriber.Account.Equipment has been removed EquipmentDto expectedDevice = expectedSubscriber.Accounts[0].Equipment.FirstOrDefault(); Assert.IsNotNull(expectedDevice, "expectedDevice"); expectedDevice.BlockedServiceList = expectedSubscriber.Accounts[0].Services; Assert.IsNotNull(expectedDevice.BlockedServiceList, "expectedDevice.BlockedServiceList is null"); Assert.AreNotEqual(0, expectedDevice.BlockedServiceList.Count, "expectedDevice.BlockedServiceList.Count is zero"); using (var client = new RosettianClient()) { client.UpdateEquipment(expectedDevice, RosettianUser); } var expectedServicesAsJSON = ServicesControllerHelper.ConvertServicesToJSON(expectedDevice.BlockedServiceList); // Act resultEditBlockedServices = ServicesControllerForTests.EditBlockedServices(expectedServicesAsJSON, expectedSubscriber.ID, expectedDevice.SerialNumber, "") as PartialViewResult; // Assert - First group Assert.IsNotNull(resultEditBlockedServices, "resultEditBlockedServices"); // ToDo: Need one test to verify that the ViewName is what we expect; don't need to repeat it across all of these tests. Assert.AreEqual(ExpectedViewName, resultEditBlockedServices.ViewName, "ViewName"); // Arrange/Act - Second group actualServicesModel = resultEditBlockedServices.Model as ServicesModel; // Assert - Second group Assert.IsNotNull(actualServicesModel, "actualServicesModel"); Assert.IsNull(actualServicesModel.ServicesActionResult, "ServicesActionResult is not null"); //Assert.AreEqual(expectedDevice.SerialNumber, actualServicesModel.DeviceID, "Device.SerialNumber compared to DeviceID"); Assert.AreEqual(expectedSubscriber.ID, actualServicesModel.SubscriberID, "Subscriber.ID compared to SubscriberID"); Assert.AreEqual(0, actualServicesModel.SubscriberServicesList.Count, "actualServicesModel.SubscriberServicesList.Count"); // Arrange/Act - Third group expectedServiceList = expectedSubscriber.Accounts[0].Services.OrderBy(x => x.Name).ToList(); actualServices = ServicesControllerHelper.ConvertJSONToServices(actualServicesModel.ServicesAsJSON); // Assert - Third group int i = 0; foreach (ServiceDto individualService in actualServices) { Assert.AreEqual(expectedServiceList[i].Name, individualService.Name, "Service Name - index count {0}", i); Assert.AreEqual(expectedServiceList[i].Description, individualService.Description, "Service Description - index count {0}", i); Assert.AreEqual(expectedServiceList[i].ClassName, individualService.ClassName, "Service ClassName - index count {0}", i); i++; } //Assert - Third group (continued) string message = string.Empty; //Validate Blocked Services displayed matches the actualViewModel blocked services bool resultOfValidation = this.ValidateBlockedServices(expectedDevice.BlockedServiceList, actualServicesModel.BlockedServicesList, out message); Assert.IsTrue(resultOfValidation, message); } }
public void SubController_saveCustomFieldsSubscriber() { var sub = Data.Data.Simpltest1(); sub.CustomFields = new List<CustomField> { new CustomField{Label ="Service_ID", Value="1234"}, new CustomField{Label = "PCAN", Value="F123456789"}, new CustomField{Label = "IP_TYPE", Value="DYNAMIC"}, new CustomField{Label = "Sub_WTN", Value="1234567890"}, }; var expected = Data.Data.SubDetailsViewModel(sub); var collection = new FormCollection { {"Service_ID", "1234"}, {"PCAN", "F123456789"}, {"Sub_WTN", "1234567890"}, {"IP_TYPE", "DYNAMIC"} }; var result = _subscriberController.saveCustomFieldsSubscriber(collection, sub.ID) as PartialViewResult; SubscriberDetailsViewModel actual = null; if (result != null) { Common.Validation.Validate("subscriberCustomFields_Partial", result.ViewName, "ViewName"); actual = result.Model as SubscriberDetailsViewModel; } Validation.Validation.ValidateSubscriberDetailsViewModel(expected, actual); using (var client = new RosettianClient()) { var actualSub = client.LoadSubscriber(sub.ID, _user); Common.Validation.ValidateSubscriber(sub, actualSub, true); } }
public void When_editing_subscriber_provisioning_information_the_services_are_not_changed() { // Given a user // And a known subscriber // And the subscriber is billed // And the subscriber is provisioned const string testUSI = "370100037230"; // Field IT Test account var subscriber = BusinessFacadeforTests.LoadCompositeSubscriber(testUSI, "WA", RosettianUser); Assert.IsNotNull(subscriber, "Loaded subscriber is null."); Assert.IsNotNull(subscriber.SubscriberDpi, "The LoadCompositeSubscriber call did not bring back any DPI-related data. Check the settings in the App.config file to verify that you are using the correct endpoints"); // And the subscriber has provisioned services var originalSubscriberServices = subscriber.SubscriberTriad.Accounts[0].Services; // And the cbr needs to be changed on the provisioned account var model = subscriber.MapToSubscriberModel(); var originalCBR = model.SubDetailsModel.CBR; CurrentSubscriber.SetInstance(subscriber, model); model.SubDetailsModel.CBR = "2189123456"; // When editing the subscriber var actualResult = SubscriberControllerForTests.UpdateSubscriber(model.SubDetailsModel) as JsonResult; // Then the user receives a response Assert.IsNotNull(actualResult, "The result from the update subscriber was null"); // And the response is successful var expectedJson = new { status = "valid", returnedPartial = "" }.ToJSON(); Assert.AreEqual(expectedJson, actualResult.Data.ToJSON()); // And the subscriber cbr is modified var updateSubscriber = BusinessFacadeforTests.LoadCompositeSubscriber(testUSI, "WA", RosettianUser); Assert.IsNotNull(updateSubscriber.SubscriberDpi, "The LoadCompositeSubscriber call did not bring back any DPI-related data. Check the settings in the App.config file to verify that you are using the correct endpoints"); Assert.AreEqual("2189123456", updateSubscriber.SubscriberTriad.SubContactPhone, "The CBR was not updated."); // And the provisioned services remain unchanged var newServices = updateSubscriber.SubscriberTriad.Accounts[0].Services; Assert.IsTrue(newServices.SequenceEqual(originalSubscriberServices, new ServiceComparer()), "The service list is not the same"); //Cleanup subscriber.SubscriberTriad.SubContactPhone = originalCBR; try { using (var client = new RosettianClient()) { client.UpdateSubscriber(subscriber.SubscriberTriad, true, CurrentUser.AsUserDto()); } } catch (System.Exception ex) { var exceptionHelper = new ExceptionHelper(); Assert.Fail(exceptionHelper.GetAllInnerExceptionMessagesAndStackTraceForTests(ex)); } }
public void SubController_SuspendRestoreService_Restore() { var sub = Data.Data.Simpltest1(); //Suspend all services (Data, Video, Voice) var svctypes = new ServiceClassTypeCollection { ServiceClassType.Data, ServiceClassType.Video, ServiceClassType.Voice }; var expectedSvcStatus = new ServiceProfileStatus { IsDataSuspended = true, IsVideoSuspended = true, IsVoiceSuspended = true }; ServiceProfileStatus actualSvcStatus; using (var client = new RosettianClient()) { client.SuspendService(sub.ID, svctypes, _user); actualSvcStatus = client.GetServiceProfileStatuses(sub.ID, _user); Common.Validation.ValidateServiceProfileStatus(expectedSvcStatus, actualSvcStatus); } //Restore video const string operation = "Restore"; const string service = "video"; expectedSvcStatus = new ServiceProfileStatus { IsDataSuspended = true, IsVideoSuspended = false, IsVoiceSuspended = true }; var result = _subscriberController.SuspendRestoreService(sub.ID, operation, service) as JsonResult; if (result != null) { var data = result.Data as ActionResponse; Assert.IsTrue(data != null && data.success); Assert.IsTrue(string.IsNullOrEmpty(data.errorMessage), data.errorMessage); } using (var client = new RosettianClient()) { actualSvcStatus = client.GetServiceProfileStatuses(sub.ID, _user); Common.Validation.ValidateServiceProfileStatus(expectedSvcStatus, actualSvcStatus); } }
/// <summary> /// This method takes the Subscriber account object "subscriber" and uses it to save a subscriber. /// It is split from the CreateSubscriber method so a user can make changes to the "subscriber" object /// before saving it. It does NOT make another attempt if it fails /// Caller will be responsible for handling exceptions thrown /// </summary> /// <param name="subscriber">Holds the field information of the subscriber</param> /// <returns>A boolean that says whether the subscriber was successfully created</returns> public bool SaveSubscriberNoRetry(SubscriberDto subscriber) { bool result = false; using (var client = new RosettianClient()) { //Save subscriber client.CreateSubscriber(subscriber, CurrentUser.AsUserDto()); result = true; } return result; }
/// <summary> /// This method takes the Subscriber account object "subscriber" and uses it to save a subscriber. /// It is split from the CreateSubscriber method so a user can make changes to the "subscriber" object /// before saving it. /// Caller will be responsible for handling exceptions thrown /// </summary> /// <param name="subscriber">Holds the field information of the subscriber</param> /// <returns>A boolean that says whether the subscriber was successfully created</returns> public bool SaveMinimalSubscriberWithLocation(SubscriberDto subscriber) { int iteration = 0; bool result = false; do { iteration++; try { using (var client = new RosettianClient()) { //Save subscriber client.CreateSubscriber(subscriber, CurrentUser.AsUserDto()); result = true; break; } } catch (Exception ex) { if (iteration == 4) { //throw; string temp = ex.Message; } subscriber = CreateMinimalSubscriberWithLocation(); } } while (iteration != 4); return result; }
/// <summary> /// Load subscriber specified by USI subID and convert to model instance. /// Load is performed twice as an easy means for creating a reference clone /// to use in comparing or restoring original state. /// Assumption: subscriber being loaded is reserved for a specific test. /// </summary> /// <param name="subID">USI for subscriber to load</param> /// <param name="referenceSub">deep clone of subscriber</param> /// <returns>subscriber identified by subID as MVC model</returns> public static SubscriberModel GetTestSubModel(string subID, out SubscriberDto referenceSub) { referenceSub = null; try { using (var client = new RosettianClient()) { var user = CurrentUser.AsUserDto(); referenceSub = client.LoadSubscriber(subID, user); Assert.IsNotNull(referenceSub, "GetTestSubModel() - USI {0} not found.", subID); // Create deep copy "clone" (with unique instances) by loading again. var rozSub = client.LoadSubscriber(subID, user); return rozSub.MapToSubscriberModel(); } } catch (Exception) { return new SubscriberModel(); } }
public static SubscriberDto GetTestSub(string subID) { try { using (var client = new RosettianClient()) { return client.LoadSubscriber(subID, CurrentUser.AsUserDto()); } } catch (Exception) { return new SubscriberDto(); } }
public void SubController_UpdateSubscriber_noChange4Services() { var sub = Data.Data.Simpltest1(); sub.Name = string.Format("{0} updated", sub.Name); sub.SubContactEmail = string.Format("{0}.org", sub.SubContactEmail); sub.SubContactPhone = "3001000103"; sub.Accounts[0].PIN = "4321"; sub.Accounts[0].PinRequired = false; sub.Accounts[0].PPVCap = "300.00"; sub.Accounts[0].PPVPrivilege = "1"; sub.Accounts[0].PPVResetDay = "10"; sub.Accounts[0].ServiceEnabled = false; var expected = Data.Data.SubDetailsViewModel(sub); var result = _subscriberController.UpdateSubscriber(expected) as PartialViewResult; SubscriberDetailsViewModel actual = null; if (result != null) { Common.Validation.Validate("SubscriberDetails_Partial", result.ViewName, "ViewName"); actual = result.Model as SubscriberDetailsViewModel; } Validation.Validation.ValidateSubscriberDetailsViewModel(expected, actual); using (var client = new RosettianClient()) { var actualSub = client.LoadSubscriber(sub.ID, _user); Common.Validation.ValidateSubscriber(sub, actualSub, true); } }
public void SubController_UpdateLocation_notUpdateCustomFields() { var sub = Data.Data.Simpltest1(); var loc = sub.Accounts[0].Location; var expectedCustomFileds = Common.Data.DefaultCustomFields_Loc(); loc.AddressLine1 += "UPDATED1"; loc.CustomFields = Common.Data.DynamicCustomFields_Loc(); var expected = Data.Data.LocDetailsViewModel(loc); const string message = "Successfully Updated Location"; var expectedViewData = new ViewDataDictionary { new KeyValuePair<string, object>("message", message) }; var result = _subscriberController.UpdateLocation(expected) as PartialViewResult; LocationDetailsViewModel actual = null; if (result != null) { Common.Validation.Validate("LocationDetails_Partial", result.ViewName, "ViewName"); Validation.Validation.ValidateViewData(expectedViewData, result.ViewData); actual = result.Model as LocationDetailsViewModel; } Validation.Validation.ValidateLocationDetailsViewModel(expected, actual); //Validate Location updated and customfields not updated loc.CustomFields = null; using (var client = new RosettianClient()) { if (actual != null) { var actualLoc = client.LoadLocation(actual.ID, _user); Common.Validation.ValidateLocation(loc, actualLoc); Common.Validation.ValidateCustomFields(expectedCustomFileds, actualLoc.CustomFields); } } }
public void SubController_UpdateLocation() { var sub = Data.Data.Simpltest1(); var loc = sub.Accounts[0].Location; loc.AddressLine1 += "UPDATED1"; loc.AddressLine2 += "UPDATED2"; loc.CityName = "FORT WAYNE"; loc.ZipCode = "46835"; loc.HeadendCode = "01"; var expected = Data.Data.LocDetailsViewModel(loc); const string message = "Successfully Updated Location"; var expectedViewData = new ViewDataDictionary { new KeyValuePair<string, object>("message", message) }; var result = _subscriberController.UpdateLocation(expected) as PartialViewResult; LocationDetailsViewModel actual = null; if (result != null) { Common.Validation.Validate("LocationDetails_Partial", result.ViewName, "ViewName"); Validation.Validation.ValidateViewData(expectedViewData, result.ViewData); actual = result.Model as LocationDetailsViewModel; } Validation.Validation.ValidateLocationDetailsViewModel(expected, actual); using (var client = new RosettianClient()) { if (actual != null) { var actualLoc = client.LoadLocation(actual.ID, _user); Common.Validation.ValidateLocation(loc, actualLoc); } } }
public void SubController_SuspendRestoreService_Suspend() { var sub = Data.Data.Simpltest1(); var expectedSvcStatus = new ServiceProfileStatus { IsDataSuspended = true, IsVideoSuspended = false, IsVoiceSuspended = false }; const string operation = "Suspend"; const string service = "data"; var result = _subscriberController.SuspendRestoreService(sub.ID, operation, service) as JsonResult; if (result != null) { var data = result.Data as ActionResponse; Assert.IsTrue(data != null && data.success); Assert.IsTrue(string.IsNullOrEmpty(data.errorMessage), data.errorMessage); } using (var client = new RosettianClient()) { var actualSvcStatus = client.GetServiceProfileStatuses(sub.ID, _user); Common.Validation.ValidateServiceProfileStatus(expectedSvcStatus, actualSvcStatus); } }
public void EditBlockedServicesMethod_SomeBlocked() { // Arrange PartialViewResult resultEditBlockedServices = null; string expectedServicesAsJSON = null; ServicesModel actualServicesModel = null; List<ServiceDto> expectedServiceList = null; ServiceCollectionDto actualServices = null; SubscriberDto expectedSubscriber = SIMPL.Test.IntegrationTest.Data.Data.GetSIMPLSubscriber04CPE01(); Assert.IsNotNull(expectedSubscriber, "subscriber"); Assert.IsNotNull(expectedSubscriber.ID, "subscriber.ID"); EquipmentCollectionDto ec = new EquipmentCollectionDto(); ec.Add(new EquipmentDto()); ec[0].AssociatedSubscriberId = expectedSubscriber.ID; ec[0].BlockedServiceList.Add(new ServiceDto()); ec[0].BlockedServiceList[0] = new ServiceDto { ClassName = ServiceClassType.ProvisionedOntDataPort.GetStringValue(), Name = "ENET", Description = "RJ-45 ETHERNET PORT" }; expectedSubscriber.Accounts[0].Equipment = new EquipmentCollectionDto(); expectedSubscriber.Accounts[0].Equipment.Add(ec[0]); EquipmentDto expectedDevice = expectedSubscriber.Accounts[0].Equipment.FirstOrDefault(); Assert.IsNotNull(expectedDevice, "expectedDevice"); expectedDevice.BlockedServiceList = new ServiceCollectionDto(); expectedDevice.BlockedServiceList.AddRange(expectedSubscriber.Accounts[0].Services.GetRange(0, 2)); using (RosettianClient client = new RosettianClient()) { client.UpdateEquipment(expectedDevice, RosettianUser); } expectedServicesAsJSON = ServicesControllerHelper.ConvertServicesToJSON(expectedDevice.BlockedServiceList); Assert.IsNotNull(expectedServicesAsJSON, "expectedServicesAsJSON"); // Act resultEditBlockedServices = ServicesControllerForTests.EditBlockedServices(expectedServicesAsJSON, expectedSubscriber.ID, expectedDevice.SerialNumber, "") as PartialViewResult; // Assert - First group Assert.IsNotNull(resultEditBlockedServices, "resultEditBlockedServices"); // Arrange/Act - Second group actualServicesModel = resultEditBlockedServices.Model as ServicesModel; // Assert - Second group Assert.IsNotNull(actualServicesModel, "actualServicesModel"); Assert.IsNull(actualServicesModel.ServicesActionResult, "ServicesActionResult is not null"); Assert.AreEqual(expectedSubscriber.ID, actualServicesModel.SubscriberID, "Subscriber.ID compared to SubscriberID"); Assert.AreEqual(3, actualServicesModel.SubscriberServicesList.Count, "actualServicesModel.SubscriberServicesList.Count"); // Arrange/Act - Third group expectedServiceList = expectedSubscriber.Accounts[0].Services.OrderBy(x => x.Name).ToList(); actualServices = ServicesControllerHelper.ConvertJSONToServices(actualServicesModel.ServicesAsJSON); // Assert - Third group int i = 0; foreach (ServiceDto individualService in actualServices) { Assert.AreEqual(expectedServiceList[i].Name, individualService.Name, "Service Name - index count {0}", i); Assert.AreEqual(expectedServiceList[i].Description, individualService.Description, "Service Description - index count {0}", i); Assert.AreEqual(expectedServiceList[i].ClassName, individualService.ClassName, "Service ClassName - index count {0}", i); i++; } // Assert - Third group (continued) string message = string.Empty; // Validate Blocked Services displayed matches the actualViewModel blocked services bool resultOfValidation = this.ValidateBlockedServices(expectedDevice.BlockedServiceList, actualServicesModel.BlockedServicesList, out message); Assert.IsTrue(resultOfValidation, message); }
public static List<PhoneDto> LoadExistingSubscriberPhones(string subID ) { try { using (var client = new RosettianClient()) { return client.LoadSubscriberPhones(subID, CurrentUser.AsUserDto()) .OrderBy(p => p.PhoneProvSpec.EquipmentId) .ToList(); } } catch (FaultException<ValidationFault> vx) { throw new Exception(vx.Detail.Details[0].Message, vx); } catch (Exception ex) { throw new Exception(Errors.parseXMLError(ex.Message), ex); } }
public void AddServicesTest() { using (var client = new RosettianClient()) { // initialize MyTestInitialize(); // get test subscriber var testSubscriber = IntegrationTest.Data.Data.GetSIMPLSubscriber04CPE01(); // create existing service list string existingServiceClassName = ServiceClassType.ProvisionedOntDataPort.GetStringValue(); const string existingServiceName = "ENET"; const string existingServiceDescription = "RJ-45 ETHERNET PORT"; var existingService = new ServiceDto { ClassName = existingServiceClassName, Name = existingServiceName, Description = existingServiceDescription }; var existingServicesList = new List<ServiceDto> {existingService}; // set current subscriber testSubscriber.Accounts.First().Services = existingServicesList.ToCollection(); CurrentSubscriber.SetInstance(testSubscriber); // create service to add const string serviceToAddClassName = "DATA - FTTH SPEED"; const string serviceToAddName = "F50M20M"; const string serviceToAddDescription = "50M DOWN 20M UP"; var serviceToAdd = new ServiceDto { ClassName = serviceToAddClassName, Name = serviceToAddName, Description = serviceToAddDescription }; var serviceToAddAsJSON = "[" + new JavaScriptSerializer().Serialize(serviceToAdd) + "]"; // create expected service list (includes existing service and service to add) var expectedServicesListAfterAdd = new List<ServiceDto> {existingService, serviceToAdd}; // create controller reference var servicesController = DependencyResolver.Current.GetService<ServicesController>(); // ACT var actualJsonResult = servicesController.AddServices(serviceToAddAsJSON) as JsonResult; // ASSERT Assert.IsNotNull(actualJsonResult); Assert.IsInstanceOfType(actualJsonResult, typeof (JsonResult)); // Verify the returned JSON dynamic actualJson = actualJsonResult.Data; var status = actualJson.status as string; Assert.IsNotNull(status); if (status == "error") { var exceptionMessage = actualJson.errorMessage; // Failure in action method -- report exception Assert.Fail("Add Service test - unexpected JsonResult values, code = {0}\r\nmessage = {1}", status, exceptionMessage); } Assert.AreEqual("success", status, "Add Service test - unexpected status from update operation"); // load updated subscriber var updatedSubscriber = client.LoadSubscriber(testSubscriber.ID, CurrentUser.AsUserDto()); // verify the services list Assert.IsTrue(updatedSubscriber.Accounts.First().Services.SequenceEqual(expectedServicesListAfterAdd, new ServiceComparer())); } }
/// <summary> /// Deletes a subscriber but leaves the location /// Caller will be responsible for handling exceptions thrown /// </summary> /// <returns>A boolean that says whether the subscriber was successfully deleted</returns> public bool DeleteSubscriberLeaveLocation(SubscriberDto subscriber) { using (RosettianClient rc = new RosettianClient()) { Thread.Sleep(200); rc.DeleteSubscriber(subscriber, CurrentUser.AsUserDto()); return true; } }
/// <summary> /// This method takes the Subscriber account object "subscriber" and uses it to save a subscriber. /// It is split from the CreateSubscriber method so a user can make changes to the "subscriber" object /// before saving it. It will make up to four attempts to succeed. /// Caller will be responsible for handling exceptions thrown /// </summary> /// <param name="subscriber">Holds the field information of the subscriber</param> /// <returns>A boolean that says whether the subscriber was successfully created</returns> public bool SaveSubscriber(SubscriberDto subscriber) { int iteration = 0; //Used to keep track of how many attempts were made bool result = false; do { iteration++; try { using (var client = new RosettianClient()) { //Save subscriber client.CreateSubscriber(subscriber, CurrentUser.AsUserDto()); result = true; break; } } catch (Exception ex) { //Try four times before throwing an error if (iteration == 4) { //throw; string temp = ex.Message; } subscriber = CreateSubscriber(); } } while (iteration != 4); return result; }
/// <summary> /// Generate the location /// </summary> /// <returns></returns> public LocationDto GenerateLocationForLocalObject() { LocationDto lDto = new LocationDto(); lDto.ID = GenerateALocationIDForLocalObject(); lDto.CityName = GenerateACityNameForLocalObject(); lDto.AddressLine1 = GenerateAnAddress1ForLocalObject(); lDto.AddressLine2 = String.Empty; lDto.ZipCode = "46816"; lDto.ZipPlusFourCode = string.Empty; lDto.StateName = "IN"; lDto.HeadendCode = "01"; lDto.HasSubscriber = true; lDto.FacilityList = new List<FacilityDto>(); lDto.CustomFields = new List<CustomFieldDto>(); using (var client = new RosettianClient()) { var user = CurrentUser.AsUserDto(); client.CreateLocation(lDto, user); } return lDto; }
/// <summary> /// CreateSubNote - creates a subscriber note (in Triad via Rosettian) /// </summary> /// <param name="subscriberId"></param> /// <param name="note"></param> public void CreateSubNote(string subscriberId, NoteDto note) { using (var client = new RosettianClient()) { client.CreateSubNote(subscriberId, note, CurrentUser.AsUserDto()); } }
public void SubController_SubmitChangeLocation() { var sub = Data.Data.Simpltest1(); var loc = sub.Accounts[0].Location; var newLoc = Data.Data.Simplloc1(); //var expected = Data.Data.LocDetailsViewModel(newLoc); var result = _subscriberController.SubmitChangeLocation(loc.ID, newLoc.ID, sub.ID) as RedirectToRouteResult; //Validate action result var expectedRoute = new RouteValueDictionary { {"ID", newLoc.ID}, {"message", "Location Changed Successfully"}, {"action", "Location"}, {"controller", "Subscriber"} }; if (result != null) { var actualRoute = result.RouteValues; Common.Validation.Validate(expectedRoute.ToDictionary(x => x.Key, x => x.Value.ToString()), actualRoute.ToDictionary(x => x.Key, x => x.Value.ToString()), "RouteValueDictionary"); } //Validate Location changed using (var client = new RosettianClient()) { var actualSub = client.LoadSubscriber(sub.ID, _user); client.LoadLocation(actualSub.Accounts[0].Location.ID, _user); Common.Validation.ValidateLocation(newLoc, actualSub.Accounts[0].Location); } }
/// <summary> /// /// </summary> /// <param name="locationId"></param> /// <returns></returns> public EquipmentCollectionDto GenerateEquipmentCollectionDto(string locationId) { var criteria = this.GenerateEquipmentCriteria(locationId); EquipmentCollectionDto equipColl = new EquipmentCollectionDto(); equipColl.Add(new EquipmentDto()); equipColl[0].HeadendCode = "01"; equipColl[0].LocationId = locationId; equipColl[0].Status = criteria.Status; equipColl[0].SerialNumber = criteria.SerialNumber; EquipmentDto eDto = new EquipmentDto(); eDto.HeadendCode = "01"; eDto.LocationId = locationId; eDto.SerialNumber = criteria.SerialNumber; eDto.Status = criteria.Status; eDto.Type.Model = criteria.Model; using (var client = new RosettianClient()) { var user = CurrentUser.AsUserDto(); client.CreateEquipment(eDto, user); } return equipColl; }
public void SvcController_InitializeBlockedServices() { var sub = Data.Data.Simplcpe1(); var dev = sub.Accounts[0].Equipment.FirstOrDefault(); PartialViewResult result = null; if (dev != null) { dev.BlockedServiceList = sub.Accounts[0].Services; using (var client = new RosettianClient()) { client.UpdateEquipment(dev, _user); } result = _serviceController.InitializeBlockedServices(dev.BlockedServiceList, sub.ID, dev.SerialNumber) as PartialViewResult; } ServicesModel actualSvcModel = null; if (result != null) { Common.Validation.Validate("BlockedServices_Partial", result.ViewName, "ViewName"); actualSvcModel = result.Model as ServicesModel; } Assert.IsTrue(actualSvcModel != null && actualSvcModel.ServicesActionResult.Success); Assert.IsTrue(string.IsNullOrEmpty(actualSvcModel.ServicesActionResult.ErrorMessage) && string.IsNullOrEmpty(actualSvcModel.ServicesActionResult.Result)); Assert.AreEqual((object) dev.SerialNumber, actualSvcModel.DeviceID); Assert.AreEqual(sub.ID, actualSvcModel.SubscriberID); var actualBlockedSvc = ServicesControllerHelper.ConvertJSONToServices(actualSvcModel.BlockedServicesAsJSON); Common.Validation.ValidateService(dev.BlockedServiceList.ToList(), actualBlockedSvc, TestAttribute.BlockedServiceList); }
/// <summary> /// This method loads a Subscriber account object from Rosettian. /// Deliberately not catching exception - caller will be responsible for handling exceptions thrown /// </summary> /// <returns>SubscriberDto object</returns> public SubscriberDto LoadSubscriber(string subscriberID) { using (var client = new RosettianClient()) { return client.LoadSubscriber(subscriberID, CurrentUser.AsUserDto()); } }
public void SvcController_SaveBlockedServices() { //Data initialization var sub = Data.Data.Simplcpe1(); var dev = sub.Accounts[0].Equipment.First(); dev.BlockedServiceList = sub.Accounts[0].Services; using (var client = new RosettianClient()) { client.UpdateEquipment(dev, _user); } //Save Blocked Services dev.BlockedServiceList = new ServiceCollection(); dev.BlockedServiceList.AddRange(sub.Accounts[0].Services.GetRange(0, 2)); var expectedSvcAsJSON = ServicesControllerHelper.ConvertServicesToJSON(dev.BlockedServiceList); var result = _serviceController.SaveBlockedServices(expectedSvcAsJSON, sub.ID, dev.SerialNumber) as PartialViewResult; ServicesModel actualSvcModel = null; if (result != null) { Common.Validation.Validate("BlockedServices_Partial", result.ViewName, "ViewName"); actualSvcModel = result.Model as ServicesModel; } ServiceCollection actualBlockedSvc = null; if (actualSvcModel != null) { Assert.AreEqual(dev.SerialNumber, actualSvcModel.DeviceID); Assert.AreEqual(sub.ID, actualSvcModel.SubscriberID); //Validate blocked svcs actualBlockedSvc = ServicesControllerHelper.ConvertJSONToServices(actualSvcModel.BlockedServicesAsJSON); } Common.Validation.ValidateService(dev.BlockedServiceList.ToList(), actualBlockedSvc, TestAttribute.BlockedServiceList); //Validate blocked svcs actually updated using (var client = new RosettianClient()) { var actualEquip = client.LoadEquipment(dev.SerialNumber, true, _user); Common.Validation.ValidateEquipment(dev, actualEquip); } }
public void SvcController_SaveBlockedServices_Remove() { //Data initialization var sub = Data.Data.Simplcpe1(); var dev = sub.Accounts[0].Equipment.First(); dev.BlockedServiceList = sub.Accounts[0].Services; using (var client = new RosettianClient()) { client.UpdateEquipment(dev, _user); } //Save Blocked Services dev.BlockedServiceList = new ServiceCollection(); var expectedSvcAsJSON = ServicesControllerHelper.ConvertServicesToJSON(dev.BlockedServiceList); var result = _serviceController.SaveBlockedServices(expectedSvcAsJSON, sub.ID, dev.SerialNumber) as PartialViewResult; Debug.Assert(result != null, "result != null"); Common.Validation.Validate("BlockedServices_Partial", result.ViewName, "ViewName"); var actualSvcModel = result.Model as ServicesModel; Debug.Assert(actualSvcModel != null, "actualSvcModel != null"); Assert.AreEqual(dev.SerialNumber, actualSvcModel.DeviceID); Assert.AreEqual(sub.ID, actualSvcModel.SubscriberID); var actualBlockedSvc = ServicesControllerHelper.ConvertJSONToServices(actualSvcModel.BlockedServicesAsJSON); Assert.AreEqual(0, actualBlockedSvc.Count()); //Validate blocked svcs actually updated using (var client = new RosettianClient()) { var actualEquip = client.LoadEquipment(dev.SerialNumber, true, _user); Assert.IsTrue(actualEquip.BlockedServiceList == null || !actualEquip.BlockedServiceList.Any()); } }
public void SubController_saveCustomFieldsLocation() { var sub = Data.Data.Simpltest1(); var loc = sub.Accounts[0].Location; loc.CustomFields = new List<CustomField> { new CustomField{Label="DROP_TYPE",Value="BURIED"}, new CustomField{Label="ADDRESS_ID",Value="12345678"} }; var collection = new FormCollection { { "DROP_TYPE", "BURIED" }, { "ADDRESS_ID", "12345678" } }; var result = _subscriberController.saveCustomFieldsLocation(collection, loc.ID) as PartialViewResult; LocationDetailsViewModel actual = null; if (result != null) { Common.Validation.Validate("locationCustomFields_Partial", result.ViewName, "ViewName"); actual = result.Model as LocationDetailsViewModel; } if (actual != null) { Assert.AreEqual(loc.ID, actual.ID, "LocationID"); Common.Validation.ValidateCustomFields(loc.CustomFields, actual.CustomField); } using (var client = new RosettianClient()) { var actualSub = client.LoadSubscriber(sub.ID, _user); var actualLoc = client.LoadLocation(actualSub.Accounts[0].Location.ID, _user); Common.Validation.ValidateLocation(loc, actualLoc); } }