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); }
public CosmosDBClientBuilder(CosmosDBExtensionConfigProvider configProvider) { _configProvider = configProvider; }
public CosmosDBJArrayBuilder(CosmosDBExtensionConfigProvider configProvider) { _builder = new CosmosDBEnumerableBuilder <JToken>(configProvider); }
public CosmosDBCollectorBuilder(CosmosDBExtensionConfigProvider configProvider) { _configProvider = configProvider; }
public void TryGetEnumerableType(Type type, bool expectedResult) { bool actualResult = CosmosDBExtensionConfigProvider.IsSupportedEnumerable(type); Assert.Equal(expectedResult, actualResult); }