Skip to content
Snippets Groups Projects
Select Git revision
  • 2f4a8e7fec11b2456b3e2deb57787895060c2c85
  • main default protected
  • summer24
3 results

ExplainableAI_Classification_Adult_EBM.ipynb

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ProjectControllerTests.cs 5.53 KiB
    using NUnit.Framework;
    using Coscine.Api.Project.Controllers;
    using Microsoft.AspNetCore.Mvc;
    using Coscine.Api.Project.Models;
    using System.Linq;
    using Coscine.Api.Project.ReturnObjects;
    using System.IO;
    using System;
    using Coscine.ApiCommons.Exceptions;
    using Coscine.ApiCommons.Factories;
    
    #region DupFinder Exclusion
    namespace Coscine.Api.Project.Tests
    {
        [TestFixture]
        public class ProjectControllerTests : DefaultControllerTests<ProjectController>
        {
            public ProjectControllerTests() : base(new ProjectController())
            {
    
            }
    
            [Test]
            public void OwnsTest()
            {
                ProjectModel projectModel = new ProjectModel();
                Assert.IsTrue(projectModel.OwnsProject(Users[0], Projects[0]));
                Assert.IsFalse(projectModel.OwnsProject(Users[0], Projects[1]));
    
                var all = projectModel.GetAllWhere((project) =>
                    (from projectRole in project.ProjectRolesProjectIdIds
                     where projectRole.User == Users[0]
                         && projectRole.Role.DisplayName == "Owner"
                     select projectRole).Any()
                );
                Assert.IsTrue(all.ToArray().Length == 1);
            }
    
            [Test]
            public void TestControllerIndex()
            {
                var actionResult = Controller.Index();
                Assert.IsTrue(actionResult.GetType() == typeof(OkObjectResult));
            }
    
            [Test]
            public void TestControllerGet()
            {
                var actionResult = Controller.Get(Projects[0].Id.ToString());
                Assert.IsTrue(actionResult.GetType() == typeof(OkObjectResult));
    
                OkObjectResult okObjectResult = (OkObjectResult)actionResult;
                Assert.IsTrue(okObjectResult.Value.GetType() == typeof(ProjectObject));
    
                ProjectObject projectObject = (ProjectObject)okObjectResult.Value;
    
                Assert.IsTrue(projectObject.Id == Projects[0].Id);
                Assert.IsTrue(projectObject.Description == Projects[0].Description);
                Assert.IsTrue(projectObject.DisplayName == Projects[0].DisplayName);
                Assert.IsTrue(projectObject.Organization == Projects[0].Organization);
                Assert.IsTrue(projectObject.StartDate == Projects[0].StartDate);
                Assert.IsTrue(projectObject.EndDate == Projects[0].EndDate);
                Assert.IsTrue(projectObject.Keywords == Projects[0].Keywords);
            }
    
    
            [Test]
            public void TestControllerUpdate()
            {
                var actionResult = Controller.Get(Projects[0].Id.ToString());
                ProjectObject projectObject = (ProjectObject)((OkObjectResult)actionResult).Value;
                
                projectObject.Description = "ChangedDescription";
    
                Stream stream = ObjectFactory<ProjectObject>.SerializeToStream(projectObject);
    
                FakeControllerContext(Users[0], stream);
    
                actionResult = Controller.Update(Projects[0].Id.ToString());
                Assert.IsTrue(actionResult.GetType() == typeof(OkObjectResult));
    
                // Cleanup
                stream.Close();
    
                stream = ObjectFactory<ProjectObject>.SerializeToStream(projectObject);
    
                FakeControllerContext(Users[0], stream);
    
                try
                {
                    Controller.Update(Projects[1].Id.ToString());
                    Assert.Fail();
                }
                catch (Exception e)
                {
                    Assert.IsTrue(e.GetType() == typeof(NotAuthorizedException));
                }
    
                // Cleanup
                stream.Close();
            }
    
            [Test]
            public void TestControllerStore()
            {          
                ProjectObject newProjectObject = new ProjectObject(Guid.NewGuid(), "NewProject", "NewDisplayName", "NewOrganisation", DateTime.Now, DateTime.Now.AddYears(1), "test2;test3");
    
                var stream = ObjectFactory<ProjectObject>.SerializeToStream(newProjectObject);
    
                FakeControllerContext(Users[0], stream);
    
                var actionResult = Controller.Store();
                Assert.IsTrue(actionResult.GetType() == typeof(OkObjectResult));
    
                OkObjectResult okObjectResult = (OkObjectResult)actionResult;
                Assert.IsTrue(okObjectResult.Value.GetType() == typeof(ProjectObject));
    
                ProjectObject createdProjectObject = (ProjectObject)okObjectResult.Value;
    
                Assert.IsTrue(createdProjectObject.Description == newProjectObject.Description);
                Assert.IsTrue(createdProjectObject.DisplayName == newProjectObject.DisplayName);
                Assert.IsTrue(createdProjectObject.Organization == newProjectObject.Organization);
                Assert.IsTrue(createdProjectObject.StartDate == newProjectObject.StartDate);
                Assert.IsTrue(createdProjectObject.EndDate == newProjectObject.EndDate);
                Assert.IsTrue(createdProjectObject.Keywords == newProjectObject.Keywords);
    
                // Cleanup
                stream.Close();
    
                ProjectModel projectModel = new ProjectModel();
                var project = projectModel.GetById(createdProjectObject.Id);
                ProjectRoleModel projectRoleModel = new ProjectRoleModel();
                var projectRoles = projectRoleModel.GetAllWhere((x) => x.ProjectId == project.Id);
                foreach (var projectRole in projectRoles)
                {
                    projectRoleModel.Delete(projectRole);
                }
                projectModel.Delete(project);
            }
    
            [Test]
            public void CountTest()
            {
                ProjectModel projectModel = new ProjectModel();
                Assert.IsTrue(Previous == projectModel.GetAll().ToArray().Length - Projects.Count);
            }
        }
    }
    #endregion