private CosmosDBExtensionConfigProvider InitializeExtensionConfigProvider(string defaultConnStr, string optionsConnStr = null)
        {
            var options        = CosmosDBTestUtility.InitializeOptions(defaultConnStr, optionsConnStr);
            var factory        = new DefaultCosmosDBServiceFactory();
            var nameResolver   = new TestNameResolver();
            var configProvider = new CosmosDBExtensionConfigProvider(options, factory, _emptyConfig, nameResolver, NullLoggerFactory.Instance);

            var context = TestHelpers.CreateExtensionConfigContext(nameResolver);

            configProvider.Initialize(context);

            return(configProvider);
        }
        private static CosmosDBEnumerableBuilder <T> CreateBuilder <T>(out Mock <ICosmosDBService> mockService)
            where T : class
        {
            mockService = new Mock <ICosmosDBService>(MockBehavior.Strict);
            Mock <ICosmosDBServiceFactory> mockServiceFactory = new Mock <ICosmosDBServiceFactory>(MockBehavior.Strict);

            mockServiceFactory
            .Setup(m => m.CreateService(It.IsAny <string>(), It.IsAny <ConnectionMode?>(), It.IsAny <Protocol?>()))
            .Returns(mockService.Object);

            var options = new OptionsWrapper <CosmosDBOptions>(new CosmosDBOptions
            {
                ConnectionString = "AccountEndpoint=https://someuri;AccountKey=c29tZV9rZXk=;"
            });
            var configProvider = new CosmosDBExtensionConfigProvider(options, mockServiceFactory.Object, new TestNameResolver(), NullLoggerFactory.Instance);

            return(new CosmosDBEnumerableBuilder <T>(configProvider));
        }
        private CosmosDBExtensionConfigProvider InitializeExtensionConfigProvider(string defaultConnStr, string optionsConnStr = null)
        {
            var options = new OptionsWrapper <CosmosDBOptions>(new CosmosDBOptions {
                ConnectionString = optionsConnStr
            });
            var factory      = new DefaultCosmosDBServiceFactory();
            var nameResolver = new TestNameResolver();

            nameResolver.Values[CosmosDBExtensionConfigProvider.AzureWebJobsCosmosDBConnectionStringName] = defaultConnStr;

            var configProvider = new CosmosDBExtensionConfigProvider(options, factory, nameResolver, NullLoggerFactory.Instance);

            var context = TestHelpers.CreateExtensionConfigContext(nameResolver);

            configProvider.Initialize(context);

            return(configProvider);
        }
        public async Task Configuration_Caches_Clients()
        {
            // Arrange
            var options = new CosmosDBOptions {
                ConnectionString = "AccountEndpoint=https://someuri;AccountKey=c29tZV9rZXk=;"
            };
            var config    = new CosmosDBExtensionConfigProvider(new OptionsWrapper <CosmosDBOptions>(options), new DefaultCosmosDBServiceFactory(), new TestNameResolver(), NullLoggerFactory.Instance);
            var attribute = new CosmosDBAttribute {
                Id = "abcdef"
            };

            // Act
            var context1 = config.CreateContext(attribute);
            var context2 = config.CreateContext(attribute);
            var binder   = await config.BindForItemAsync(attribute, typeof(Item));

            // Assert
            Assert.Single(config.ClientCache);
        }
Esempio n. 5
0
 public CosmosDBClientBuilder(CosmosDBExtensionConfigProvider configProvider)
 {
     _configProvider = configProvider;
 }
Esempio n. 6
0
 public CosmosDBJArrayBuilder(CosmosDBExtensionConfigProvider configProvider)
 {
     _builder = new CosmosDBEnumerableBuilder <JToken>(configProvider);
 }
Esempio n. 7
0
 public CosmosDBCollectorBuilder(CosmosDBExtensionConfigProvider configProvider)
 {
     _configProvider = configProvider;
 }
        public void TryGetEnumerableType(Type type, bool expectedResult)
        {
            bool actualResult = CosmosDBExtensionConfigProvider.IsSupportedEnumerable(type);

            Assert.Equal(expectedResult, actualResult);
        }