コード例 #1
0
        public void GetProjectListForCustomer_NoUserUid_HappyPath()
        {
            // todo once intersection utility is complete, this may be able to return projects
            var projectName = "the project name";
            var lastUpdate  = DateTime.UtcNow.AddDays(-1);

            var projectConfigurations = new List <ProjectConfigurationModel>();
            var fullName = "trn::profilex:us-west-2:project:5d2ab210-5fb4-4e77-90f9-b0b41c9e6e3f||2020-03-25 23:03:45.314||BootCamp 2012.dc";

            projectConfigurations.Add(new ProjectConfigurationModel()
            {
                FileType = ProjectConfigurationFileType.CALIBRATION.ToString(), FileName = fullName
            });
            var projectDetailResponseModel     = CreateProjectDetailModel(_customerTrn, _projectTrn, projectName, lastUpdate, projectConfigurations: projectConfigurations);
            var projectDetailListResponseModel = new ProjectDetailListResponseModel()
            {
                Projects = new List <ProjectDetailResponseModel>()
                {
                    projectDetailResponseModel
                }
            };

            var mockCwsProjectClient = new Mock <ICwsProjectClient>();

            mockCwsProjectClient.Setup(pr => pr.GetProjectsForCustomer(It.IsAny <Guid>(), It.IsAny <Guid?>(), It.IsAny <bool>(), It.IsAny <CwsProjectType?>(), It.IsAny <ProjectStatus?>(), It.IsAny <bool>(), It.IsAny <HeaderDictionary>())).ReturnsAsync(projectDetailListResponseModel);

            var projectDatabaseModelList = ProjectRequestHelper.GetIntersectingProjects(_customerUid.ToString(), 89, 179,
                                                                                        _projectUid.ToString(), _logger, _serviceExceptionHandler, mockCwsProjectClient.Object, _customHeaders);

            var result = projectDatabaseModelList.Result;

            Assert.NotNull(result);
            Assert.Empty(result);
        }
コード例 #2
0
        public Task <ProjectDetailListResponseModel> GetProjectsForCustomer(Guid customerUid, Guid?userUid = null, bool includeSettings = true, CwsProjectType?type = null, ProjectStatus?status = null, bool onlyAdmin = false, IHeaderDictionary customHeaders = null)
        {
            log.LogDebug($"{nameof(GetProjectsForCustomer)} Mock: customerUid {customerUid} userUid {userUid}");

            var projectDetailListResponseModel = new ProjectDetailListResponseModel();

            log.LogDebug($"{nameof(GetProjectsForCustomer)} Mock: projectDetailListResponseModel {JsonConvert.SerializeObject(projectDetailListResponseModel)}");
            return(Task.FromResult(projectDetailListResponseModel));
        }
コード例 #3
0
        /// <summary>
        ///   Gets full project details using a user token.
        ///   The user must have access to this account.
        ///   Cache to include userUid as different users have access to a different project set
        ///   cws team to generate a detailed list in 1 shot CCSSSCON-409
        /// </summary>
        public async Task <ProjectDetailListResponseModel> GetProjectsForCustomer(Guid customerUid, Guid?userUid = null, bool includeSettings = true,
                                                                                  CwsProjectType?type            = null, ProjectStatus?status = null, bool onlyAdmin = false, IHeaderDictionary customHeaders = null)
        {
            log.LogDebug($"{nameof(GetProjectsForCustomer)}: customerUid {customerUid} userUid {userUid}");

            var projectSummaryListResponseModel = await GetProjectsForMyCustomer(customerUid, userUid, includeSettings, type, status, customHeaders);

            var projects = onlyAdmin ?
                           projectSummaryListResponseModel.Projects.Where(p => p.UserProjectRole == UserProjectRoleEnum.Admin) :
                           projectSummaryListResponseModel.Projects;
            var projectDetailListResponseModel = new ProjectDetailListResponseModel
            {
                Projects = projects.Select(p => GetProjectDetailsFromSummary(p, customerUid)).ToList()
            };

            log.LogDebug($"{nameof(GetProjectsForCustomer)}: projectSummaryListResponseModel {JsonConvert.SerializeObject(projectSummaryListResponseModel)}");
            return(projectDetailListResponseModel);
        }
コード例 #4
0
        public void GetProjectListForCustomer_HappyPath()
        {
            var projectName = "the project name";
            var lastUpdate  = DateTime.UtcNow.AddDays(-1);

            var projectConfigurations = new List <ProjectConfigurationModel>();
            var fullName = "trn::profilex:us-west-2:project:5d2ab210-5fb4-4e77-90f9-b0b41c9e6e3f||2020-03-25 23:03:45.314||BootCamp 2012.dc";

            projectConfigurations.Add(new ProjectConfigurationModel()
            {
                FileType = ProjectConfigurationFileType.CALIBRATION.ToString(), FileName = fullName
            });
            var projectDetailResponseModel     = CreateProjectDetailModel(_customerTrn, _projectTrn, projectName, lastUpdate, projectConfigurations: projectConfigurations);
            var projectDetailListResponseModel = new ProjectDetailListResponseModel()
            {
                Projects = new List <ProjectDetailResponseModel>()
                {
                    projectDetailResponseModel
                }
            };

            var mockCwsProjectClient = new Mock <ICwsProjectClient>();

            mockCwsProjectClient.Setup(pr => pr.GetProjectsForCustomer(It.IsAny <Guid>(), It.IsAny <Guid>(), It.IsAny <bool>(), It.IsAny <CwsProjectType?>(), It.IsAny <ProjectStatus?>(), It.IsAny <bool>(), It.IsAny <HeaderDictionary>())).ReturnsAsync(projectDetailListResponseModel);

            var projectDatabaseModelList = ProjectRequestHelper.GetProjectListForCustomer(_customerUid, _userUid,
                                                                                          _logger, _serviceExceptionHandler, mockCwsProjectClient.Object, null, null, false, true, _customHeaders);

            var result = projectDatabaseModelList.Result;

            Assert.NotNull(result);
            Assert.Single(result);
            Assert.Equal(_projectUid.ToString(), result[0].ProjectUID);
            Assert.Equal(_customerUid.ToString(), result[0].CustomerUID);
            Assert.Equal(projectName, result[0].Name);
            Assert.Equal(CwsProjectType.AcceptsTagFiles, result[0].ProjectType);
            Assert.Equal("New Zealand Standard Time", result[0].ProjectTimeZone);
            Assert.Equal("Pacific/Auckland", result[0].ProjectTimeZoneIana);
            Assert.Equal("POLYGON((150.3 1.2,150.4 1.2,150.4 1.3,150.4 1.4,150.3 1.2))", result[0].Boundary);
            Assert.Equal("BootCamp 2012.dc", result[0].CoordinateSystemFileName);
            Assert.Equal(new DateTime(2020, 03, 25, 23, 03, 45, 314), result[0].CoordinateSystemLastActionedUTC);
            Assert.False(result[0].IsArchived);
            Assert.Equal(lastUpdate, result[0].LastActionedUTC);
        }