protected void Delete_Click(object sender, EventArgs e) { var isValid = true; if (isValid) { try { ProgramsController sysmgr = new ProgramsController(); int rowsaffected = sysmgr.Delete(int.Parse(ID.Text)); if (rowsaffected > 0) { ShowMessage("Record has been DELETED", "alert alert-success"); Clear(sender, e); } else { ShowMessage("Record was not found", "alert alert-warning"); } UpdateButton.Enabled = false; DeleteButton.Enabled = false; } catch (Exception ex) { ShowMessage(GetInnerException(ex).ToString(), "alert alert-danger"); } } }
public void Test_OnlyToolkitUpdateAvailable() { //ACTUALLY - CHANGE THE BEHAVIOUR AT LEAST FOR NOW // SEEMS THIS SCENARIO IS NOT DESIRED! // the challenge is whether it makes sense to update the toolkit (where there are no breaking changes) to make use of new telemetry features // versus // do not change anything in the client app unless the developer has made an update (and that seems safer) IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo>()); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("2.0.0.0", "1.2.0.0"), this.User1Guid, false, "0.9.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(0, result.UpdatePackages.Count); //Assert.AreEqual("1.0.0.0", result.UpdatePackages.Single().AssemblyVersion); //Assert.AreEqual("Telimena.Client.zip", result.UpdatePackages.Single().FileName); Assert.IsNull(result.Exception); request.AcceptBeta = true; result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(0, result.UpdatePackages.Count); //Assert.AreEqual("1.2.0.0", result.UpdatePackages.Single().AssemblyVersion); //Assert.AreEqual("Telimena.Client.zip", result.UpdatePackages.Single().FileName); Assert.IsNull(result.Exception); }
protected void Fetch_Click01(object sender, EventArgs e) { if (List01.SelectedIndex == 0) { ShowMessage("Select a school to view its programs", "alert alert-warning"); } else { ShowMessage("", ""); try { ProgramsController sysmgr02 = new ProgramsController(); List <Programs> info02 = null; info02 = sysmgr02.FindByID(List01.SelectedValue); info02.Sort((x, y) => x.ProgramName.CompareTo(y.ProgramName)); Fetch02.Enabled = true; List02.Enabled = true; List02.DataSource = info02; List02.DataTextField = nameof(Programs.ProgramName); List02.DataValueField = nameof(Programs.ProgramID); List02.DataBind(); List02.Items.Insert(0, "select..."); } catch (Exception ex) { ShowMessage(ex.ToString(), "alert alert-danger"); } } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { pagenum = Request.QueryString["page"]; pid = Request.QueryString["pid"]; BindSchoolsList(); if (string.IsNullOrEmpty(pid)) { Response.Redirect("~/Default.aspx"); } else { ProgramsController sysmgr = new ProgramsController(); Programs info = null; info = sysmgr.FindByPKID(int.Parse(pid)); if (info == null) { ShowMessage("Record is not in Database.", "alert alert-info"); Clear(sender, e); } else { ProgramID.Text = info.ProgramID.ToString(); ProgramName.Text = info.ProgramName; DiplomaName.Text = info.DiplomaName; //NULL in Database SchoolCode.SelectedValue = info.SchoolCode; Tuition.Text = string.Format("{0:0.00}", info.Tuition.ToString()); InternationalTuition.Text = string.Format("{0:0.00}", info.InternationalTuition.ToString()); } } } }
public List <PuffEdit> GetPuffList() { List <PuffEdit> puffEditList = new List <PuffEdit>(); ProgramsController pc = new ProgramsController(); var prog = pc.SendList(); var puff = db.Puff.Include(p => p.Program); foreach (var l in puff) { foreach (var p in prog) { PuffEdit o = new PuffEdit(); if (l.Progid == p.Id) { o.Pid = l.Pid; o.Progid = p.Id; o.ProgramName = p.ProgramName; o.Time = p.Time; o.Date = p.Date; o.ChannelId = p.ChannelId.Value; o.Category = p.Category; o.Length = p.Length; o.Info = p.Info; puffEditList.Add(o); } } } return(puffEditList); }
public async Task GetCreateShouldReturnViewWithValidModel() { // Arrange var userManager = this.GetUserManagerMock(); var controller = new ProgramsController(userManager.Object, null); // Act var result = await controller.Create(); // Assert result.Should().BeOfType <ViewResult>(); var model = result.As <ViewResult>().Model; model.Should().BeOfType <AddProgramFormModel>(); var formModel = model.As <AddProgramFormModel>(); formModel.StartDate.Year.Should().Be(DateTime.UtcNow.Year); formModel.StartDate.Month.Should().Be(DateTime.UtcNow.Month); formModel.StartDate.Day.Should().Be(DateTime.UtcNow.Day); var endDate = DateTime.UtcNow.AddDays(30); formModel.EndDate.Year.Should().Be(endDate.Year); formModel.EndDate.Month.Should().Be(endDate.Month); formModel.EndDate.Day.Should().Be(endDate.Day); this.AssertTrainersSelectList(formModel.Trainers); }
public void Test_ReleaseNotes() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo> { new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_1, ReleaseNotes = null } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.4", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_2, ReleaseNotes = "" } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.5", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_3, ReleaseNotes = "Version 1.2.0,5 notes" } }); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("2.0.0.0", "1.2.0.0") , this.User1Guid, false, "1.0.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual("Version 1.2.0,5 notes", result.UpdatePackages[0].ReleaseNotes); Assert.AreEqual("", result.UpdatePackages[1].ReleaseNotes); Assert.AreEqual(null, result.UpdatePackages[2].ReleaseNotes); }
public void StopProgramTest() { var account = App.Config.GetDefaultAccount(); var context = account.GetContext(); var controller = new ProgramsController(); var programs = context.Programs.ToList(); var program = programs.FirstOrDefault(p => p.State == ProgramState.Running); if (program != null) { controller.Stop(account.AccountName, program.Id.NimbusIdToRawGuid()); program = context.Programs.Where(c => c.Id == program.Id).FirstOrDefault(); Assert.AreEqual(ProgramState.Stopping, program.State); } //trying to stop a stopped program fails. program = programs.FirstOrDefault(p => p.State != ProgramState.Running); if (program != null) { try { controller.Stop(account.AccountName, program.Id.NimbusIdToRawGuid()); } catch (HttpResponseException he) { Assert.AreEqual(HttpStatusCode.PreconditionFailed, he.Response.StatusCode); } } }
public void TestInit() { userProvider = new Mock <IUserProvider>(); service = new Mock <IProgramService>(); focusCategoryService = new Mock <IFocusCategoryService>(); justificationObjectiveService = new Mock <IJustificationObjectiveService>(); resourceService = new Mock <IResourceService>(); authorizationHandler = new Mock <IResourceAuthorizationHandler>(); service.Setup(x => x.GetProgramsAsync(It.IsAny <QueryableOperator <OrganizationProgramDTO> >())) .ReturnsAsync(new PagedQueryResults <OrganizationProgramDTO>(1, new List <OrganizationProgramDTO>())); service.Setup(x => x.CreateAsync(It.IsAny <DraftProgram>())).ReturnsAsync(new Program { RowVersion = new byte[0] }); service.Setup(x => x.UpdateAsync(It.IsAny <EcaProgram>())).Returns(Task.FromResult <object>(null)); service.Setup(x => x.SaveChangesAsync()).ReturnsAsync(1); service.Setup(x => x.GetProgramByIdAsync(It.IsAny <int>())).ReturnsAsync(new ProgramDTO { Id = 1, RowVersion = new byte[0] }); controller = new ProgramsController(service.Object, userProvider.Object, focusCategoryService.Object, justificationObjectiveService.Object, resourceService.Object, authorizationHandler.Object); controller.ControllerContext = ContextUtil.CreateControllerContext(); HttpContext.Current = new HttpContext( new HttpRequest("", "http://localhost", ""), new HttpResponse(new StringWriter()) ); }
//protected void Add_Click(object sender, EventArgs e) //{ // var isValid = Validation(sender, e); // if (isValid) // { // try // { // ProductController sysmgr = new ProductController(); // Product item = new Product(); // //No ProductID here as the database will give a new one back when we add // item.ProductName = Name.Text.Trim(); //NOT NULL in Database // if (SupplierList.SelectedValue == "0") //NULL in Database // { // item.SupplierID = null; // } // else // { // item.SupplierID = int.Parse(SupplierList.SelectedValue); // } // //CategoryID can be NULL in Database but NOT NULL when record is added in this CRUD page // item.CategoryID = int.Parse(CategoryList.SelectedValue); // //UnitPrice can be NULL in Database but NOT NULL when record is added in this CRUD page // item.UnitPrice = decimal.Parse(UnitPrice.Text); // item.Discontinued = Discontinued.Checked; //NOT NULL in Database // int newID = sysmgr.Add(item); // ID.Text = newID.ToString(); // ShowMessage("Record has been ADDED", "alert alert-success"); // AddButton.Enabled = false; // UpdateButton.Enabled = true; // DeleteButton.Enabled = true; // Discontinued.Enabled = true; // } // catch (Exception ex) // { // ShowMessage(GetInnerException(ex).ToString(), "alert alert-danger"); // } // } //} protected void Update_Click(object sender, EventArgs e) { var isValid = Validation(sender, e); if (isValid) { try { ProgramsController sysmgr = new ProgramsController(); Programs item = new Programs(); item.ProgramID = int.Parse(ID.Text); item.ProgramName = Name.Text.Trim(); item.DiplomaName = Diploma.Text.Trim(); item.SchoolCode = SchoolsList.SelectedValue; item.Tuition = decimal.Parse(Tuition.Text); item.InternationalTuition = decimal.Parse(IntTuition.Text); int rowsaffected = sysmgr.Update(item); if (rowsaffected > 0) { ShowMessage("Record has been UPDATED", "alert alert-success"); } else { ShowMessage("Record was not found", "alert alert-warning"); } } catch (Exception ex) { ShowMessage(GetInnerException(ex).ToString(), "alert alert-danger"); } } }
protected void Fetch_Click01(object sender, EventArgs e) { if (List01.SelectedIndex == 0) { MessageLabel.Text = "Select a School to view its Programs"; } else { try { ProgramsController sysmgr02 = new ProgramsController(); List <Programs> info02 = null; info02 = sysmgr02.FindByID(List01.SelectedValue); info02.Sort((x, y) => x.ProgramName.CompareTo(y.ProgramName)); Fetch02.Enabled = true; List02.Enabled = true; List02.DataSource = info02; List02.DataTextField = nameof(Programs.ProgramName); List02.DataValueField = nameof(Programs.ProgramID); List02.DataBind(); List02.Items.Insert(0, "select..."); } catch (Exception ex) { MessageLabel.Text = ex.Message; } } }
public void Test_NonStandaloneUpdateAvailable() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo> { new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.1", 2222, "1.0.0.0") { IsStandalone = true, PublicId = this.PrgPkg_1 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.2", 2222, "1.0.0.0") { IsStandalone = true, PublicId = this.PrgPkg_2 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_3 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.4", 2222, "1.0.0.0") { IsStandalone = true, PublicId = this.PrgPkg_4 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.5", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_5 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.6", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_6 } }); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("2.0.0.0", "1.2.0.0"), this.User1Guid, false, "1.0.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(3, result.UpdatePackages.Count()); Assert.AreEqual(this.PrgPkg_6, result.UpdatePackages[0].PublicId); Assert.AreEqual(this.PrgPkg_5, result.UpdatePackages[1].PublicId); Assert.AreEqual(this.PrgPkg_4, result.UpdatePackages[2].PublicId); //no update here - the version 1.2 is beta, whereas 1.4 has breaking changes Assert.IsFalse(result.UpdatePackages.Any(x => x.FileName == "Telimena.Client.zip")); request.AcceptBeta = true; result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(3, result.UpdatePackages.Count()); Assert.AreEqual(this.PrgPkg_6, result.UpdatePackages[0].PublicId); Assert.AreEqual(this.PrgPkg_5, result.UpdatePackages[1].PublicId); Assert.AreEqual(this.PrgPkg_4, result.UpdatePackages[2].PublicId); //return the version that is higher than max supported, but does not introduce breaking changes //todo - toolkit updating temporarily disabled - update package requires toolkit presence - Assert.IsTrue(result.UpdatePackages.Last().Version == "1.2.0.0" && result.UpdatePackages.Last().FileName == "Telimena.Client.zip"); Assert.IsTrue(result.UpdatePackages.All(x => x.FileName != "Telimena.Client.zip")); }
public void NonStandalone_NewestIsBeta_ShouldIncludeNonBetaAsWell() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo> { new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.1", 2222, "1.0.0.0") { IsStandalone = true, IsBeta = true, PublicId = this.PrgPkg_1 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.2", 2222, "1.0.0.0") { IsStandalone = true, IsBeta = false, PublicId = this.PrgPkg_2 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = true, IsBeta = true, PublicId = this.PrgPkg_3 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.4", 2222, "1.0.0.0") { IsStandalone = true, IsBeta = true, PublicId = this.PrgPkg_4 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.6", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_6 } }); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("2.0.0.0", "1.2.0.0"), this.User1Guid, false, "2.0.0.0", "1.0.0.0"); //beta is not accepted, therefore should return only one package UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.IsNull(result.Exception); Assert.AreEqual(1, result.UpdatePackages.Count()); Assert.AreEqual(this.PrgPkg_2, result.UpdatePackages[0].PublicId); Assert.AreEqual($"api/v1/update-packages/{this.PrgPkg_2}", result.UpdatePackages[0].DownloadUrl); //beta is accepted, however it should still return the info about latest 'stable' release as well request.AcceptBeta = true; result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.IsNull(result.Exception); Assert.AreEqual(3, result.UpdatePackages.Count()); Assert.AreEqual(this.PrgPkg_6, result.UpdatePackages[0].PublicId); Assert.AreEqual($"api/v1/update-packages/{this.PrgPkg_6}", result.UpdatePackages[0].DownloadUrl); Assert.AreEqual(this.PrgPkg_4, result.UpdatePackages[1].PublicId); Assert.AreEqual($"api/v1/update-packages/{this.PrgPkg_4}", result.UpdatePackages[1].DownloadUrl); Assert.AreEqual(this.PrgPkg_2, result.UpdatePackages[2].PublicId); Assert.AreEqual($"api/v1/update-packages/{this.PrgPkg_2}", result.UpdatePackages[2].DownloadUrl); //no update for toolkit, because its already maxed Assert.IsFalse(result.UpdatePackages.Any(x => x.FileName == "Telimena.Client.zip")); }
public void TestNoLanguage() { var controller = new ProgramsController(InitRepo()); // Act var program = controller.Get(1); // Assert Assert.IsNull(program.Label); Assert.AreEqual(2, program.Labels.Count()); }
public void GetAllProgramsTest() { var account = App.Config.Content.ContentProviders[0].MediaServicesSets[0].MediaServicesAccounts[0]; var context = account.GetContext(); var programs = context.Programs.ToList(); ProgramsController controller = new ProgramsController(); var programDetails = controller.GetAllPrograms(account.AccountName); Assert.IsNotNull(programDetails); Assert.AreEqual(programs.Count, programDetails.Count); }
public void GetProgramsForChannelTest() { var account = App.Config.Content.ContentProviders[0].MediaServicesSets[0].MediaServicesAccounts[0]; var context = account.GetContext(); var channel = context.Channels.FirstOrDefault(); Assert.IsNotNull(channel, "No programs found!"); ProgramsController controller = new ProgramsController(); var programDetails = controller.GetProgramsForChannel(account.AccountName, channel.Id.NimbusIdToRawGuid()); Assert.IsNotNull(programDetails); }
public void TestGetAll() { // Arrange var controller = new ProgramsController(InitRepo()); // Act var programs = controller.Get(); // Assert Assert.IsNotNull(programs); Assert.AreEqual(3, programs.Count()); }
public void Test_NoUpdatesAvailable() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo>()); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("2.0.0.0", "1.2.0.0"), this.User1Guid, false, "1.4.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.IsEmpty(result.UpdatePackages); Assert.IsNull(result.Exception); }
public void TestSimplestScenario_MultiplePackagesSameVersion() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo> { new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.1", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_1 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.2", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_2 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, PublicId = Guid.NewGuid() } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, PublicId = Guid.NewGuid() } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, PublicId = Guid.NewGuid() } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, PublicId = Guid.NewGuid() } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_3 } }); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("3.0.0.0", "1.2.0.1"), this.User1Guid, false, "0.0.0.1", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(this.PrgPkg_3, result.UpdatePackages[0].PublicId); Assert.AreEqual(2, result.UpdatePackages.Count); //todo - toolkit updating temporarily disabled - update package requires toolkit presence - Assert.AreEqual("1.0.0.0", result.UpdatePackages.Single(x => x.FileName == "Telimena.Client.zip").Version); Assert.IsTrue(result.UpdatePackages.All(x => x.FileName != "Telimena.Client.zip")); request.AcceptBeta = true; result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(this.PrgPkg_3, result.UpdatePackages[0].PublicId); //todo - toolkit updating temporarily disabled - update package requires toolkit presence - Assert.AreEqual("1.2.0.0", result.UpdatePackages.Single(x => x.FileName == "Telimena.Client.zip").Version); }
public void Test_OnlyNonStandaloneUpdateAvailable() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo> { new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_1 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.4", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_2 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.5", 2222, "1.0.0.0") { IsStandalone = false, PublicId = this.PrgPkg_3, ReleaseNotes = "Version 1.2.0,5 notes" } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.6", 2222, "1.6.0.0") { IsStandalone = false, PublicId = this.PrgPkg_4 } }); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("2.0.0.0", "1.2.0.0"), this.User1Guid, false, "1.0.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(4, result.UpdatePackages.Count()); Assert.AreEqual(this.PrgPkg_4, result.UpdatePackages[0].PublicId); Assert.AreEqual(this.PrgPkg_3, result.UpdatePackages[1].PublicId); Assert.AreEqual("Version 1.2.0,5 notes", result.UpdatePackages[1].ReleaseNotes); Assert.AreEqual(this.PrgPkg_2, result.UpdatePackages[2].PublicId); Assert.AreEqual(this.PrgPkg_1, result.UpdatePackages[3].PublicId); //one of the packages supports version 1.6, however 1.6 is beta. It is higher than 1.4 though, so 1.4 is OK //todo - toolkit updating temporarily disabled - update package requires toolkit presence - Assert.AreEqual("1.4.0.0", result.UpdatePackages.Single(x => x.FileName == "Telimena.Client.zip").Version); Assert.IsTrue(result.UpdatePackages.All(x => x.FileName != "Telimena.Client.zip")); request.AcceptBeta = true; result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(4, result.UpdatePackages.Count()); Assert.AreEqual(this.PrgPkg_4, result.UpdatePackages[0].PublicId); Assert.AreEqual(this.PrgPkg_3, result.UpdatePackages[1].PublicId); Assert.AreEqual(this.PrgPkg_2, result.UpdatePackages[2].PublicId); Assert.AreEqual(this.PrgPkg_1, result.UpdatePackages[3].PublicId); //one of the packages supports version 1.6 //todo - toolkit updating temporarily disabled - update package requires toolkit presence - Assert.AreEqual("1.6.0.0", result.UpdatePackages.Single(x => x.FileName == "Telimena.Client.zip").Version); Assert.IsTrue(result.UpdatePackages.All(x => x.FileName != "Telimena.Client.zip")); }
public void Beta_OnlyBetaAvailable() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo> { new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.1", 2222, "1.0.0.0") { IsStandalone = true, IsBeta = true, PublicId = this.PrgPkg_1 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.2", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_2 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_3 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.4", 2222, "1.0.0.0") { IsStandalone = true, IsBeta = true, PublicId = this.PrgPkg_4 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.5", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_5 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.6", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_6 } }); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("2.0.0.0", "1.2.0.0"), this.User1Guid, false, "2.0.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(0, result.UpdatePackages.Count()); Assert.IsNull(result.Exception); request.AcceptBeta = true; result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(3, result.UpdatePackages.Count()); Assert.AreEqual(this.PrgPkg_6, result.UpdatePackages[0].PublicId); Assert.AreEqual($"api/v1/update-packages/{this.PrgPkg_6}", result.UpdatePackages[0].DownloadUrl); Assert.AreEqual(this.PrgPkg_5, result.UpdatePackages[1].PublicId); Assert.AreEqual(this.PrgPkg_4, result.UpdatePackages[2].PublicId); //no update for toolkit, because its already maxed Assert.IsFalse(result.UpdatePackages.Any(x => x.FileName == "Telimena.Client.zip")); }
public void TestLanguageWildcard() { var controller = new ProgramsController(InitRepo()); controller.SetHeaders(new Dictionary <string, string> { { "ACCEPT-LANGUAGE", "*" } }); // Act var program = controller.Get(3); // Assert Assert.AreEqual("Test 3", program.Label); }
public void Beta_TestSimplestScenario() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo> { new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.0", 2222, "1.0.0.0") { IsStandalone = true, PublicId = this.PrgPkg_1 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.2", 2222, "1.0.0.0") { IsStandalone = true, PublicId = this.PrgPkg_2 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = true, IsBeta = true, PublicId = this.PrgPkg_3 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_2, "1.2.0.4", 2222, "1.0.0.0") { IsStandalone = true, IsBeta = true, PublicId = this.PrgPkg_4 } //different program }); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("2.0.0.0", "1.2.0.0"), this.User1Guid, false, "0.5.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(this.PrgPkg_2, result.UpdatePackages[0].PublicId); Assert.AreEqual(1, result.UpdatePackages.Count); //return the version that is higher than max supported, but does not introduce breaking changes //todo - toolkit updating temporarily disabled - update package requires toolkit presence - Assert.IsTrue(result.UpdatePackages.Last().Version == "1.0.0.0" && result.UpdatePackages.Last().FileName == "Telimena.Client.zip"); Assert.IsTrue(result.UpdatePackages.All(x => x.FileName != "Telimena.Client.zip")); request.AcceptBeta = true; result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(2, result.UpdatePackages.Count); Assert.AreEqual(this.PrgPkg_3, result.UpdatePackages[0].PublicId); Assert.AreEqual("api/v1/update-packages/0d9dd99e-242b-4b6c-ba24-1ded4bb9d87d", result.UpdatePackages[0].DownloadUrl); Assert.AreEqual(this.PrgPkg_2, result.UpdatePackages[1].PublicId); //this one should be returned as well - because the user might decide to skip the beta version //return the version that is higher than max supported, but does not introduce breaking changes //todo - toolkit updating temporarily disabled - update package requires toolkit presence - Assert.AreEqual("1.2.0.0", result.UpdatePackages.Single(x => x.FileName == "Telimena.Client.zip" // && x.DownloadUrl.Contains($"api/v1/toolkit/")).Version); }
public void TestFrench() { var controller = new ProgramsController(InitRepo()); controller.SetHeaders(new Dictionary <string, string> { { "ACCEPT-LANGUAGE", "fr" } }); // Act var program = controller.Get(1); // Assert Assert.AreEqual("Test fr", program.Label); Assert.IsNull(program.Labels); }
public void BetaTest_OnlyBetaOnlyNonStandaloneUpdateAvailable() { IProgramsUnitOfWork unit = this.GetUnit(new List <ProgramUpdatePackageInfo> { new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.3", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_1 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.4", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_2 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.5", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_3 } , new ProgramUpdatePackageInfo("pkg.zip", this.Prg_1, "1.2.0.6", 2222, "1.0.0.0") { IsStandalone = false, IsBeta = true, PublicId = this.PrgPkg_4 } }); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("0.0.0.0", "1.2.0.0"), this.User1Guid, false, "1.8.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(0, result.UpdatePackages.Count()); Assert.IsNull(result.Exception); request.AcceptBeta = true; result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(4, result.UpdatePackages.Count()); Assert.AreEqual(this.PrgPkg_4, result.UpdatePackages[0].PublicId); Assert.AreEqual(this.PrgPkg_3, result.UpdatePackages[1].PublicId); Assert.AreEqual(this.PrgPkg_2, result.UpdatePackages[2].PublicId); Assert.AreEqual(this.PrgPkg_1, result.UpdatePackages[3].PublicId); //return the version that is supported, because it does not introduce breaking changes //todo - toolkit updating temporarily disabled - update package requires toolkit presence Assert.AreEqual("2.0.0.0", result.UpdatePackages.Single(x => x.FileName == "Telimena.Client.zip").Version); Assert.IsTrue(result.UpdatePackages.All(x => x.FileName != "Telimena.Client.zip")); request.VersionData.FileVersion = "3.0.0.0"; //version too high result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(0, result.UpdatePackages.Count()); }
public void GetProgramTest() { var account = App.Config.Content.ContentProviders[0].MediaServicesSets[0].MediaServicesAccounts[0]; var context = account.GetContext(); var program = context.Programs.FirstOrDefault(); Assert.IsNotNull(program, "No programs found!"); ProgramsController controller = new ProgramsController(); var programDetails = controller.Get(account.AccountName, program.Id.NimbusIdToRawGuid()); Assert.IsNotNull(programDetails, "Program cannot be null"); Assert.AreEqual(program.Name, programDetails.Name); Assert.AreEqual(program.Id, programDetails.Id.GuidToProgramId()); Assert.AreEqual(program.Description, programDetails.Description); Assert.AreEqual(program.State.ToString(), programDetails.State); Assert.AreEqual(program.ChannelId, programDetails.ChannelId); }
public void TestLanguageQuality() { var controller = new ProgramsController(InitRepo()); controller.SetHeaders(new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("ACCEPT-LANGUAGE", "es"), new KeyValuePair <string, string>("ACCEPT-LANGUAGE", "fr-CA;q=0.8"), new KeyValuePair <string, string>("ACCEPT-LANGUAGE", "en;q=0.5"), new KeyValuePair <string, string>("ACCEPT-LANGUAGE", "*;q=0.4") }); // Act var program = controller.Get(3); // Assert Assert.AreEqual("Test 3 FR", program.Label); }
public void NoPackagesAvailable_ShouldNotThrowErrors() { ProgramRepository prgRepo = new ProgramRepository(this.Context); prgRepo.Add(new Program("prg", this.Program1Key) { Id = this.Prg_1 }); this.Context.SaveChanges(); IProgramsUnitOfWork unit = new ProgramsUnitOfWork(this.Context, TestingUtilities.GetMockVersionReader().Object); ProgramsController sut = new ProgramsController(unit, new Mock <IFileSaver>().Object, new Mock <IFileRetriever>().Object); UpdateRequest request = new UpdateRequest(this.Program1Key, new VersionData("", "1.2.0.0"), this.User1Guid, false, "0.7.0.0", "1.0.0.0"); UpdateResponse result = sut.UpdateCheck(request).GetAwaiter().GetResult(); Assert.AreEqual(0, result.UpdatePackages.Count()); Assert.IsNull(result.Exception); }
protected void BindProgramList() { try { ProgramsController sysmgr = new ProgramsController(); List <Programs> info = sysmgr.Programs_List(); info.Sort((x, y) => x.ProgramName.CompareTo(y.ProgramName)); ProgramList.DataSource = info; ProgramList.DataTextField = nameof(Programs.ProgramName); ProgramList.DataValueField = nameof(Programs.ProgramID); ProgramList.DataBind(); ProgramList.Items.Insert(0, "select..."); } catch (Exception ex) { errormsgs.Add(GetInnerException(ex).ToString()); LoadMessageDisplay(errormsgs, "alert alert-danger"); } }
public void TestGetOne() { // Arrange var controller = new ProgramsController(InitRepo()); controller.SetHeaders(new Dictionary <string, string> { { "ACCEPT-LANGUAGE", "en" } }); // Act var program = controller.Get(2); // Assert Assert.IsNotNull(program); Assert.AreEqual("Test 2", program.Label); Assert.IsNotNull(program.Forms); Assert.AreEqual(2, program.Forms.Count); }
private void BindPrograms() { using (ProgramsController pc = new ProgramsController()) { var programs = pc.GetScopedEntities(CurrentUser.UserID, Permission).Where(i => ProgramWhereClause == null ? true : ProgramWhereClause(i)).Select(i => new { Label = i.ProgramName, Value = i.ProgramID }).OrderBy(i => i.Label).ToList(); ddlProgram.Reset(true); ddlProgram.DataSource = programs; ddlProgram.DataTextField = "Label"; ddlProgram.DataValueField = "Value"; ddlProgram.DataBind(); if (programs.Count() == 1) { ddlProgram.SelectedIndex = 1; ddlProgram_SelectedIndexChanged(null, null); } } }