Ejemplo n.º 1
0
        public void CurrentVersionForServiceNotFound()
        {
            // Arrange
            var serviceId  = Guid.NewGuid();
            var channelId  = Guid.NewGuid();
            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);

            ServiceServiceMock.Setup(s => s.GetServiceByIdSimple(serviceId, true)).Returns((VmOpenApiServiceVersionBase)null);

            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceServiceMock.Object, ChannelService, PublishingStatusCache, VersioningManager,
                                                       UserOrganizationChecker, CacheManager, UserOrganizationService);

            // Act
            var result = service.SaveServicesAndChannels(new List <V7VmOpenApiServiceServiceChannelAstiInBase> {
                new V7VmOpenApiServiceServiceChannelAstiInBase
                {
                    ServiceId        = serviceId.ToString(),
                    ServiceChannelId = channelId.ToString()
                }
            });

            // Assert
            result.Should().NotBeNull();
            var list = Assert.IsType <List <string> >(result);

            list.Count.Should().Be(1);
            list.FirstOrDefault().Should().EndWith("not found!");
        }
Ejemplo n.º 2
0
        public void ExternalSourceForServiceNotExists()
        {
            // Arrange
            var sourceId = "sourceId";
            var userName = "******";

            ExternalSourceRepoMock.Setup(s => s.All())
            .Returns(new List <ExternalSource>()
            {
                new ExternalSource {
                    SourceId = "someOtherSourceId", RelationId = userName, ObjectType = typeof(Model.Models.Service).Name
                }
            }.AsQueryable());

            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            UserIdentificationMock.Setup(s => s.UserName).Returns(userName);
            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);
            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceService, ChannelService, PublishingStatusCache, VersioningManager, UserOrganizationChecker,
                                                       CacheManager, UserOrganizationService);

            // Act
            Action act = () => service.SaveServiceConnectionsBySource(sourceId, new V7VmOpenApiServiceAndChannelRelationBySourceAsti(), DefaultVersion);

            // Assert
            act.ShouldThrowExactly <Exception>(CoreMessages.OpenApi.RelationIdNotFound);
        }
Ejemplo n.º 3
0
        public void CanModify()
        {
            // Arrange
            var serviceId      = Guid.NewGuid();
            var channelId      = Guid.NewGuid();
            var organizationId = Guid.NewGuid();
            var relation       = new V7VmOpenApiServiceServiceChannelAstiInBase
            {
                ServiceId        = serviceId.ToString(),
                ServiceChannelId = channelId.ToString()
            };
            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);

            ServiceServiceMock.Setup(s => s.GetServiceByIdSimple(serviceId, true))
            .Returns(new VmOpenApiServiceVersionBase()
            {
                PublishingStatus = PublishingStatus.Published.ToString()
            });

            ChannelServiceMock.Setup(s => s.GetServiceChannelByIdSimple(channelId, true))
            .Returns(new VmOpenApiServiceChannel()
            {
                Id = channelId,
                IsVisibleForAll    = false,
                OrganizationId     = organizationId,
                ServiceChannelType = ServiceChannelTypeEnum.ServiceLocation.ToString(),
                Security           = new VmSecurityOwnOrganization {
                    IsOwnOrganization = true
                }
            });

            //UserOrganizationServiceMock.Setup(s => s.GetAllUserOrganizations(unitOfWork)).Returns(new List<Guid>() { organizationId });

            translationManagerVModelMockSetup.Setup(s => s.Translate <IVmOpenApiServiceServiceChannelInVersionBase, ServiceServiceChannel>(relation, unitOfWork))
            .Returns(new ServiceServiceChannel());

            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceServiceMock.Object, ChannelService, PublishingStatusCache, VersioningManager,
                                                       UserOrganizationChecker, CacheManager, UserOrganizationServiceMock.Object);

            // Act
            var result = service.SaveServicesAndChannels(new List <V7VmOpenApiServiceServiceChannelAstiInBase> {
                relation
            });

            // Assert
            result.Should().NotBeNull();
            var list = Assert.IsType <List <string> >(result);

            list.Count.Should().Be(1);
            list.FirstOrDefault().Should().EndWith("added or updated.");
            translationManagerVModelMockSetup.Verify(x => x.Translate <IVmOpenApiServiceServiceChannelInVersionBase, ServiceServiceChannel>(It.IsAny <VmOpenApiServiceServiceChannelInVersionBase>(), unitOfWork), Times.Once());
        }
Ejemplo n.º 4
0
        public void ASTIUpdate_RegularConnectionsNotDeleted()
        {
            // Arrange
            var serviceId = Guid.NewGuid();
            var channelId = Guid.NewGuid();
            var request   = new V7VmOpenApiServiceAndChannelRelationAstiInBase
            {
                IsASTI           = true,
                ServiceId        = serviceId,
                ChannelRelations = new List <V7VmOpenApiServiceServiceChannelAstiInBase>
                {
                    new V7VmOpenApiServiceServiceChannelAstiInBase
                    {
                        ServiceGuid = serviceId,
                        ChannelGuid = channelId,
                    }
                }
            };
            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);

            translationManagerVModelMockSetup.Setup(s => s.Translate <V7VmOpenApiServiceAndChannelRelationAstiInBase, Model.Models.Service>(request, unitOfWork))
            .Returns(new Model.Models.Service()
            {
                Id = serviceId,
                ServiceServiceChannels = new List <ServiceServiceChannel>
                {
                    new ServiceServiceChannel {
                        IsASTIConnection = true, ServiceChannelId = channelId
                    },
                    new ServiceServiceChannel {
                        IsASTIConnection = false, ServiceChannelId = Guid.NewGuid()
                    }
                }
            });

            // repositories
            ConnectionRepoMock.Setup(c => c.All()).Returns(new List <ServiceServiceChannel>().AsQueryable());
            DescriptionRepoMock.Setup(c => c.All()).Returns(new List <ServiceServiceChannelDescription>().AsQueryable());

            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceService, ChannelService, PublishingStatusCache, VersioningManager, UserOrganizationChecker,
                                                       CacheManager, UserOrganizationService);

            // Act
            var result = service.SaveServiceConnections(request, DefaultVersion);

            // Assert
            // We are not testing method GetServiceById so we expect result to be null.
            result.Should().BeNull();
            translationManagerVModelMockSetup.Verify(t => t.Translate <V7VmOpenApiServiceAndChannelRelationAstiInBase, Model.Models.Service>(It.IsAny <V7VmOpenApiServiceAndChannelRelationAstiInBase>(), unitOfWork), Times.Once());
            ConnectionRepoMock.Verify(x => x.Remove(It.IsAny <ServiceServiceChannel>()), Times.Never());
            DescriptionRepoMock.Verify(x => x.Remove(It.IsAny <ServiceServiceChannelDescription>()), Times.Never());
        }
Ejemplo n.º 5
0
        public void ChannelNotVisibleForUser()
        {
            // Arrange
            var serviceId      = Guid.NewGuid();
            var channelId      = Guid.NewGuid();
            var organizationId = Guid.NewGuid();
            var unitOfWork     = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);

            ServiceServiceMock.Setup(s => s.GetServiceByIdSimple(serviceId, true))
            .Returns(new VmOpenApiServiceVersionBase()
            {
                PublishingStatus = PublishingStatus.Published.ToString()
            });

            ChannelServiceMock.Setup(s => s.GetServiceChannelByIdSimple(channelId, true))
            .Returns(new VmOpenApiServiceChannel()
            {
                Id = channelId, IsVisibleForAll = false, OrganizationId = organizationId
            });

            UserOrganizationServiceMock.Setup(s => s.GetAllUserOrganizations(unitOfWork)).Returns(new List <Guid>());

            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceServiceMock.Object, ChannelService, PublishingStatusCache, VersioningManager,
                                                       UserOrganizationChecker, CacheManager, UserOrganizationServiceMock.Object);

            // Act
            var result = service.SaveServicesAndChannels(new List <V7VmOpenApiServiceServiceChannelAstiInBase> {
                new V7VmOpenApiServiceServiceChannelAstiInBase
                {
                    ServiceId        = serviceId.ToString(),
                    ServiceChannelId = channelId.ToString()
                }
            });

            // Assert
            result.Should().NotBeNull();
            var list = Assert.IsType <List <string> >(result);

            list.Count.Should().Be(1);
            list.FirstOrDefault().Should().EndWith("You do not have permission to update data!");
        }
        public void ModelIsNull()
        {
            // Arrange
            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);
            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceService, ChannelService, PublishingStatusCache, VersioningManager, UserOrganizationChecker,
                                                       CacheManager, UserOrganizationService);

            // Act
            var result = service.SaveServiceChannelConnections(null, DefaultVersion);

            // Assert
            result.Should().BeNull();
        }
Ejemplo n.º 7
0
        public void ModelIsNull()
        {
            // Arrange
            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);
            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceService, ChannelService, PublishingStatusCache, VersioningManager, UserOrganizationChecker,
                                                       CacheManager, UserOrganizationService);

            // Act
            var result = service.SaveServiceConnections(null, DefaultVersion);

            // Assert
            result.Should().BeNull();
            translationManagerVModelMockSetup.Verify(t => t.Translate <V7VmOpenApiServiceAndChannelRelationAstiInBase, Model.Models.Service>(It.IsAny <V7VmOpenApiServiceAndChannelRelationAstiInBase>(), unitOfWork), Times.Never());
        }
Ejemplo n.º 8
0
        public void CannotGetUser()
        {
            // Arrange
            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            UserIdentificationMock.Setup(s => s.UserName).Returns((string)null);
            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);
            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceService, ChannelService, PublishingStatusCache, VersioningManager, UserOrganizationChecker,
                                                       CacheManager, UserOrganizationService);

            // Act
            Action act = () => service.SaveServiceConnectionsBySource(null, new V7VmOpenApiServiceAndChannelRelationBySourceAsti(), DefaultVersion);

            // Assert
            act.ShouldThrowExactly <Exception>(CoreMessages.OpenApi.RelationIdNotFound);
        }
Ejemplo n.º 9
0
        public void ChannelIdIsNull()
        {
            // Arrange
            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);
            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceService, ChannelService, PublishingStatusCache, VersioningManager, UserOrganizationChecker,
                                                       CacheManager, UserOrganizationService);

            // Act
            var result = service.SaveServicesAndChannels(new List <V7VmOpenApiServiceServiceChannelAstiInBase> {
                new V7VmOpenApiServiceServiceChannelAstiInBase()
            });

            // Assert
            result.Should().NotBeNull();
            result.Should().BeOfType <List <string> >();
        }
        public void DeleteAllASTIConnections()
        {
            // Arrange
            var channelId  = Guid.NewGuid();
            var serviceId  = Guid.NewGuid();
            var serviceId2 = Guid.NewGuid();
            var request    = new V7VmOpenApiChannelServicesIn
            {
                ChannelId = channelId,
                DeleteAllServiceRelations = true
            };

            // repositories
            var connectionList = new List <ServiceServiceChannel>()
            {
                new ServiceServiceChannel {
                    ServiceId = serviceId, ServiceChannelId = channelId
                },
                new ServiceServiceChannel {
                    ServiceId = serviceId2, ServiceChannelId = channelId
                }
            };

            ConnectionRepoMock.Setup(c => c.All()).Returns(connectionList.AsQueryable());
            DescriptionRepoMock.Setup(c => c.All()).Returns(new List <ServiceServiceChannelDescription>
            {
                new ServiceServiceChannelDescription {
                    ServiceId = serviceId, ServiceChannelId = channelId
                },
                new ServiceServiceChannelDescription {
                    ServiceId = serviceId2, ServiceChannelId = channelId
                },
            }.AsQueryable());

            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);

            translationManagerVModelMockSetup.Setup(s => s.Translate <V7VmOpenApiChannelServicesIn, ServiceChannel>(request, unitOfWork))
            .Returns(new ServiceChannel()
            {
                Id = serviceId,
                ServiceServiceChannels = new List <ServiceServiceChannel>
                {
                    new ServiceServiceChannel {
                        IsASTIConnection = true, ServiceChannelId = channelId, ServiceId = serviceId
                    },
                    new ServiceServiceChannel {
                        IsASTIConnection = true, ServiceChannelId = channelId, ServiceId = serviceId2
                    },
                    new ServiceServiceChannel {
                        IsASTIConnection = false, ServiceChannelId = channelId, ServiceId = Guid.NewGuid()
                    }                                                                                                                     // regular connection that should not be removed
                }
            });

            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceService, ChannelService, PublishingStatusCache, VersioningManager, UserOrganizationChecker,
                                                       CacheManager, UserOrganizationService);

            // Act
            var result = service.SaveServiceChannelConnections(request, DefaultVersion);

            // Assert
            // We are not testing method GetServiceChannelById so we expect result to be null.
            result.Should().BeNull();
            translationManagerVModelMockSetup.Verify(t => t.Translate <V7VmOpenApiChannelServicesIn, ServiceChannel>(It.IsAny <V7VmOpenApiChannelServicesIn>(), unitOfWork), Times.Once());
            ConnectionRepoMock.Verify(x => x.Remove(It.IsAny <ServiceServiceChannel>()), Times.Exactly(2));
            DescriptionRepoMock.Verify(x => x.Remove(It.IsAny <ServiceServiceChannelDescription>()), Times.Exactly(2));
        }
Ejemplo n.º 11
0
        public void CanModifyConnections()
        {
            // Arrange
            var serviceSourceId = "sourceId";
            var channelSourceId = "sourceId2";
            var serviceId       = Guid.NewGuid();
            var channelId       = Guid.NewGuid();
            var userName        = "******";
            var request         = new V7VmOpenApiServiceAndChannelRelationBySourceAsti()
            {
                ChannelRelations = new List <V7VmOpenApiServiceServiceChannelBySourceAsti>
                {
                    new V7VmOpenApiServiceServiceChannelBySourceAsti
                    {
                        ServiceChannelSourceId = channelSourceId,
                    }
                }
            };

            ExternalSourceRepoMock.Setup(s => s.All())
            .Returns(new List <ExternalSource>()
            {
                new ExternalSource {
                    PTVId = serviceId, SourceId = serviceSourceId, RelationId = userName, ObjectType = typeof(Model.Models.Service).Name
                },
                new ExternalSource {
                    PTVId = channelId, SourceId = channelSourceId, RelationId = userName, ObjectType = typeof(ServiceChannel).Name
                }
            }.AsQueryable());

            var unitOfWork = unitOfWorkMockSetup.Object;

            translationManagerVModelMockSetup.Setup(s => s.Translate <V7VmOpenApiServiceAndChannelRelationAstiInBase, Model.Models.Service>(It.IsAny <V7VmOpenApiServiceAndChannelRelationAstiInBase>(), unitOfWork))
            .Returns(new Model.Models.Service()
            {
                Id = serviceId,
            });

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            UserIdentificationMock.Setup(s => s.UserName).Returns(userName);
            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);

            ChannelServiceMock.Setup(s => s.GetServiceChannelByIdSimple(channelId, true))
            .Returns(new VmOpenApiServiceChannel
            {
                ServiceChannelType = ServiceChannelTypeEnum.ServiceLocation.ToString(),
                Security           = new VmSecurityOwnOrganization {
                    IsOwnOrganization = true
                }
            });

            var service = new ServiceAndChannelService(contextManager, translationManagerMockSetup.Object, translationManagerVModelMockSetup.Object,
                                                       Logger, serviceUtilities, DataUtils, ServiceService, ChannelServiceMock.Object, PublishingStatusCache, VersioningManager, UserOrganizationChecker,
                                                       CacheManager, UserOrganizationService);

            // Act
            var result = service.SaveServiceConnectionsBySource(serviceSourceId, request, DefaultVersion);

            // Assert
            // We are not testing method GetServiceById so we expect result to be null.
            result.Should().BeNull();
            translationManagerVModelMockSetup.Verify(t => t.Translate <V7VmOpenApiServiceAndChannelRelationAstiInBase, Model.Models.Service>(It.IsAny <V7VmOpenApiServiceAndChannelRelationAstiInBase>(), unitOfWork), Times.Once());
        }