Ejemplo n.º 1
0
        public void Should_Throw_Exception_If_Resolver_Fails_Unexpected()
        {
            // Arrange
            _firstResolver.Setup(r => r.GetTenantToken()).Throws <Exception>();
            var sut = new TenantIdentificationStrategy(new List <ITenantTokenResolver>()
            {
                _firstResolver.Object, _secondResolver.Object, _thirdResolver.Object
            }, _identifier.Object);

            // Act
            Action act = () => Task.WaitAll(sut.TryGetTenantIdAsync());

            // Assert
            act.Should().Throw <Exception>();
        }
Ejemplo n.º 2
0
        public void Strategy_Should_Pass_Token_To_Identifier()
        {
            // Arrange
            const string tenantToken = "mock token";

            _firstResolver.Setup(r => r.GetTenantToken()).Returns(Task.FromResult(tenantToken));
            var sut = new TenantIdentificationStrategy(new List <ITenantTokenResolver>()
            {
                _firstResolver.Object, _secondResolver.Object, _thirdResolver.Object
            }, _identifier.Object);

            // Act
            var _ = sut.TryGetTenantIdAsync().Result;

            // Assert
            _identifier.Verify(i => i.GetTenantIdAsync(It.Is <string>(s => string.Equals(s, tenantToken))), Times.Once());
        }
Ejemplo n.º 3
0
        public void Should_Return_Null_If_All_Resolvers_Fail()
        {
            // Arrange
            _firstResolver.Setup(r => r.GetTenantToken()).Returns(Task.FromResult <string>(null));
            _secondResolver.Setup(r => r.GetTenantToken()).Returns(Task.FromResult <string>(null));
            _thirdResolver.Setup(r => r.GetTenantToken()).Returns(Task.FromResult <string>(null));
            var sut = new TenantIdentificationStrategy(new List <ITenantTokenResolver>()
            {
                _firstResolver.Object, _secondResolver.Object, _thirdResolver.Object
            }, _identifier.Object);

            // Act
            var result = sut.TryGetTenantIdAsync().Result;

            // Assert
            result.Should().BeNull();
        }
Ejemplo n.º 4
0
        public void Service_Should_Return_Identifier_Result()
        {
            // Arrange
            const string tenantToken = "mock token";

            _firstResolver.Setup(r => r.GetTenantToken()).Returns(Task.FromResult(tenantToken));
            var tenantId = Guid.NewGuid();

            _identifier.Setup(i => i.GetTenantIdAsync(It.IsAny <string>())).Returns(Task.FromResult(tenantId));
            var sut = new TenantIdentificationStrategy(new List <ITenantTokenResolver>()
            {
                _firstResolver.Object, _secondResolver.Object, _thirdResolver.Object
            }, _identifier.Object);

            // Act
            var result = sut.TryGetTenantIdAsync().Result;

            // Assert
            result.Should().Be(tenantId);
        }