Beispiel #1
0
        public void ShouldCallIfDisabled()
        {
            // We should still get an OK Result when entitlements are checking
            // So we at least hit the entitlements service everytime
            var response = new EntitlementResponseModel {
                Feature = "test-feature", UserUid = "test-uuid", UserEmail = "test-email", OrganizationIdentifier = "test-org", IsEntitled = true
            };

            _mockConfiguration
            .Setup(m => m.GetValueBool(It.Is <string>(s => s == ConfigConstants.ENABLE_ENTITLEMENTS_CONFIG_KEY), It.IsAny <bool>()))
            .Returns(false);

            _mockWebRequest.Setup(m => m.ExecuteRequest <EntitlementResponseModel>(It.IsAny <string>(),
                                                                                   It.IsAny <Stream>(),
                                                                                   It.IsAny <IHeaderDictionary>(),
                                                                                   It.Is <HttpMethod>(m => m == HttpMethod.Post),
                                                                                   It.IsAny <int?>(),
                                                                                   It.IsAny <int>(),
                                                                                   It.IsAny <bool>()))
            .Returns(Task.FromResult(response));

            var proxy  = new EntitlementProxy(_mockWebRequest.Object, _mockConfiguration.Object, _loggerFactory, _dataCache, _mockServiceResolution.Object);
            var result = proxy.IsEntitled(new EntitlementRequestModel
            {
                Feature = "test-feature", Sku = "test-sku", OrganizationIdentifier = "test-org", UserUid = "test-uuid", UserEmail = "test-email"
            }).Result;

            result.Should().NotBeNull();
            result.IsEntitled.Should().BeTrue();
            result.UserUid.Should().Be("test-uuid");
            result.UserEmail.Should().Be("test-email");
            result.Feature.Should().Be("test-feature");
            result.Sku.Should().Be("test-sku");
            result.OrganizationIdentifier.Should().Be("test-org");
        }
Beispiel #2
0
        public void ShouldCallIfEnabled()
        {
            var response = new EntitlementResponseModel();

            _mockConfiguration
            .Setup(m => m.GetValueBool(It.Is <string>(s => s == ConfigConstants.ENABLE_ENTITLEMENTS_CONFIG_KEY), It.IsAny <bool>()))
            .Returns(true);

            _mockWebRequest.Setup(m => m.ExecuteRequest <EntitlementResponseModel>(It.IsAny <string>(),
                                                                                   It.IsAny <Stream>(),
                                                                                   It.IsAny <IHeaderDictionary>(),
                                                                                   It.Is <HttpMethod>(m => m == HttpMethod.Post),
                                                                                   It.IsAny <int?>(),
                                                                                   It.IsAny <int>(),
                                                                                   It.IsAny <bool>()))
            .Returns(Task.FromResult(response));

            var proxy  = new EntitlementProxy(_mockWebRequest.Object, _mockConfiguration.Object, _loggerFactory, _dataCache, _mockServiceResolution.Object);
            var result = proxy.IsEntitled(new EntitlementRequestModel
            {
                Feature = "test-feature",
                Sku     = "test-sku",
                OrganizationIdentifier = "test-org",
                UserUid   = "test-uuid",
                UserEmail = "test-email"
            }).Result;

            result.Should().NotBeNull();

            _mockWebRequest.Verify(m => m.ExecuteRequest <EntitlementResponseModel>(It.IsAny <string>(),
                                                                                    It.IsAny <Stream>(),
                                                                                    It.IsAny <IHeaderDictionary>(),
                                                                                    It.Is <HttpMethod>(m => m == HttpMethod.Post),
                                                                                    It.IsAny <int?>(),
                                                                                    It.IsAny <int>(),
                                                                                    It.IsAny <bool>()),
                                   Times.Once);
        }