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);
        }
Exemplo n.º 3
0
 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");
         }
     }
 }
Exemplo n.º 4
0
 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());
             }
         }
     }
 }
Exemplo n.º 5
0
        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())
         );
 }
Exemplo n.º 10
0
        //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");
                }
            }
        }
Exemplo n.º 11
0
 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;
         }
     }
 }
Exemplo n.º 12
0
        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"));
        }
Exemplo n.º 13
0
        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"));
        }
Exemplo n.º 14
0
        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);
        }
Exemplo n.º 17
0
        public void TestGetAll()
        {
            // Arrange
            var controller = new ProgramsController(InitRepo());

            // Act
            var programs = controller.Get();

            // Assert
            Assert.IsNotNull(programs);
            Assert.AreEqual(3, programs.Count());
        }
Exemplo n.º 18
0
        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);
        }
Exemplo n.º 19
0
        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);
        }
Exemplo n.º 20
0
        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"));
        }
Exemplo n.º 21
0
        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"));
        }
Exemplo n.º 22
0
        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);
        }
Exemplo n.º 23
0
        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);
        }
Exemplo n.º 24
0
        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);
        }
Exemplo n.º 25
0
        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);
        }
Exemplo n.º 27
0
        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);
        }
Exemplo n.º 28
0
        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);
        }
Exemplo n.º 29
0
 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");
     }
 }
Exemplo n.º 30
0
        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);
                }
            }
        }