public ZumoMomentService(IAccountService accountService, ILogger logger, IZumoConfig config, IMobileServiceClientFactory factory) { AccountService = accountService; Logger = logger; Config = config; MobileServiceClientFactory = factory; }
private void RunTest(string testName, IMobileServiceClientFactory factory, TraceWriter testTrace, object argument = null) { Type testType = typeof(MobileTableEndToEndFunctions); ExplicitTypeLocator locator = new ExplicitTypeLocator(testType); JobHostConfiguration config = new JobHostConfiguration { TypeLocator = locator, }; config.Tracing.Tracers.Add(testTrace); var arguments = new Dictionary <string, object>(); arguments.Add("triggerData", argument); var mobileAppsConfig = new MobileAppsConfiguration { MobileAppUri = new Uri("https://someuri"), ApiKey = "api_key", ClientFactory = factory }; var resolver = new TestNameResolver(); config.NameResolver = resolver; config.UseMobileApps(mobileAppsConfig); JobHost host = new JobHost(config); host.Start(); host.Call(testType.GetMethod(testName), arguments); host.Stop(); }
public ZumoAccountService(IPreferences preferences, ILogger logger, IMobileServiceClientFactory mobileServiceClientFactory, IEventAggregator eventAggregator) { EventAggregator = eventAggregator; Logger = logger; Preferences = preferences; MobileServiceClientFactory = mobileServiceClientFactory; FetchAuthenticationToken(); }
public ZumoFriendService(IAccountService accountService, IPreferences preferences, IMobileServiceClientFactory factory) { AccountService = accountService; Preferences = preferences; MobileServiceClientFactory = factory; Friends = new ObservableCollection <User>(); PendingFriends = new ObservableCollection <User>(); }
internal static IMobileServiceClient CreateMobileServiceClient(IMobileServiceClientFactory factory, Uri mobileAppUri, string apiKey = null) { HttpMessageHandler[] handlers = null; if (!string.IsNullOrEmpty(apiKey)) { handlers = new[] { new MobileServiceApiKeyHandler(apiKey) }; } return(factory.CreateClient(mobileAppUri, handlers)); }
private async Task RunTestAsync(string testName, IMobileServiceClientFactory factory, object argument = null, Uri configUri = null, string configKey = null, bool includeDefaultKey = true, bool includeDefaultUri = true, Type testType = null) { testType = testType ?? typeof(MobileTableEndToEndFunctions); ExplicitTypeLocator locator = new ExplicitTypeLocator(testType); var arguments = new Dictionary <string, object>(); arguments.Add("triggerData", argument); var resolver = new TestNameResolver(); resolver.Values.Add("MyUri", AttributeUri); resolver.Values.Add("MyKey", AttributeKey); if (includeDefaultUri) { resolver.Values.Add(MobileAppsExtensionConfigProvider.AzureWebJobsMobileAppUriName, DefaultUri); } if (includeDefaultKey) { resolver.Values.Add(MobileAppsExtensionConfigProvider.AzureWebJobsMobileAppApiKeyName, DefaultKey); } IHost host = new HostBuilder() .ConfigureWebJobs(builder => { builder.AddAzureStorage() .AddMobileApps(o => { o.MobileAppUri = configUri; o.ApiKey = configKey; }); }) .ConfigureServices(services => { services.AddSingleton <IMobileServiceClientFactory>(factory); services.AddSingleton <INameResolver>(resolver); services.AddSingleton <ITypeLocator>(locator); }) .ConfigureLogging(logging => { logging.ClearProviders(); logging.AddProvider(_loggerProvider); }) .Build(); await host.StartAsync(); await host.GetJobHost().CallAsync(testType.GetMethod(testName), arguments); await host.StopAsync(); }
private async Task RunTestAsync(string testName, IMobileServiceClientFactory factory, TraceWriter testTrace, object argument = null, Uri configUri = null, string configKey = null, bool includeDefaultKey = true, bool includeDefaultUri = true) { Type testType = typeof(MobileTableEndToEndFunctions); ExplicitTypeLocator locator = new ExplicitTypeLocator(testType); JobHostConfiguration config = new JobHostConfiguration { TypeLocator = locator, }; config.Tracing.Tracers.Add(testTrace); var arguments = new Dictionary <string, object>(); arguments.Add("triggerData", argument); var mobileAppsConfig = new MobileAppsConfiguration { MobileAppUri = configUri, ApiKey = configKey, ClientFactory = factory }; var resolver = new TestNameResolver(); resolver.Values.Add("MyUri", AttributeUri); resolver.Values.Add("MyKey", AttributeKey); if (includeDefaultUri) { resolver.Values.Add(MobileAppsConfiguration.AzureWebJobsMobileAppUriName, DefaultUri); } if (includeDefaultKey) { resolver.Values.Add(MobileAppsConfiguration.AzureWebJobsMobileAppApiKeyName, DefaultKey); } config.NameResolver = resolver; config.UseMobileApps(mobileAppsConfig); JobHost host = new JobHost(config); await host.StartAsync(); await host.CallAsync(testType.GetMethod(testName), arguments); await host.StopAsync(); }
/// <summary> /// Constructs a new instance. /// </summary> public MobileAppsExtensionConfigProvider(IOptions <MobileAppsOptions> options, IMobileServiceClientFactory clientFactory, INameResolver nameResolver) { _options = options; _nameResolver = nameResolver; ClientFactory = clientFactory; }
private MobileAppsExtensionConfigProvider CreateConfigProvider(string configApiKey, Uri configMobileAppUri, IMobileServiceClientFactory clientFactory = null) { var options = new MobileAppsOptions { ApiKey = configApiKey, MobileAppUri = configMobileAppUri }; var nameResolver = new TestNameResolver(); nameResolver.Values[MobileAppsExtensionConfigProvider.AzureWebJobsMobileAppApiKeyName] = "Default"; nameResolver.Values[MobileAppsExtensionConfigProvider.AzureWebJobsMobileAppUriName] = "https://default"; nameResolver.Values["Attribute"] = "ResolvedAttribute"; clientFactory = clientFactory ?? new DefaultMobileServiceClientFactory(); var configProvider = new MobileAppsExtensionConfigProvider(new OptionsWrapper <MobileAppsOptions>(options), clientFactory, nameResolver); var context = TestHelpers.CreateExtensionConfigContext(nameResolver); configProvider.Initialize(context); return(configProvider); }
/// <summary> /// Constructs a new instance. /// </summary> public MobileAppsExtensionConfigProvider(IOptions <MobileAppsOptions> options, IMobileServiceClientFactory clientFactory, IConfiguration configuration) { _options = options; _configuration = configuration; ClientFactory = clientFactory; }
private async Task RunTestAsync(string testName, IMobileServiceClientFactory factory, object argument = null, Uri configUri = null, string configKey = null, bool includeDefaultKey = true, bool includeDefaultUri = true, Type testType = null) { testType = testType ?? typeof(MobileTableEndToEndFunctions); ExplicitTypeLocator locator = new ExplicitTypeLocator(testType); var arguments = new Dictionary <string, object> { { "triggerData", argument } }; var resolver = new TestNameResolver(); IHost host = new HostBuilder() .ConfigureWebJobs(builder => { builder.AddAzureStorage() .AddMobileApps(o => { if (configUri != null) { o.MobileAppUri = configUri; } if (configKey != null) { o.ApiKey = configKey; } }); }) .ConfigureServices(services => { services.AddSingleton <IMobileServiceClientFactory>(factory); services.AddSingleton <INameResolver>(resolver); services.AddSingleton <ITypeLocator>(locator); }) .ConfigureLogging(logging => { logging.ClearProviders(); logging.AddProvider(_loggerProvider); }) .ConfigureAppConfiguration(c => { c.Sources.Clear(); var collection = new Dictionary <string, string> { { ConnectionStringNames.Storage, "UseDevelopmentStorage=true" }, { "MyUri", AttributeUri }, { "MyKey", AttributeKey } }; if (includeDefaultUri) { collection.Add(MobileAppsExtensionConfigProvider.AzureWebJobsMobileAppUriName, DefaultUri); } if (includeDefaultKey) { collection.Add(MobileAppsExtensionConfigProvider.AzureWebJobsMobileAppApiKeyName, DefaultKey); } c.AddInMemoryCollection(collection); }) .Build(); await host.StartAsync(); await host.GetJobHost().CallAsync(testType.GetMethod(testName), arguments); await host.StopAsync(); }
public static IDisposableMobileServiceClient CreateClient(this IMobileServiceClientFactory factory) => factory.CreateClient(Array.Empty <HttpMessageHandler>());
private MobileAppsExtensionConfigProvider CreateConfigProvider(string configApiKey, Uri configMobileAppUri, IMobileServiceClientFactory clientFactory = null) { // Create this via the host so that options go through the correct flow. var host = new HostBuilder() .ConfigureWebJobs(c => { c.AddMobileApps(options => { // Selectively override these. if (configApiKey != null) { options.ApiKey = configApiKey; } if (configMobileAppUri != null) { options.MobileAppUri = configMobileAppUri; } }); if (clientFactory != null) { c.Services.AddSingleton <IMobileServiceClientFactory>(clientFactory); } }) .ConfigureAppConfiguration(c => { c.AddInMemoryCollection(new Dictionary <string, string> { { MobileAppsExtensionConfigProvider.AzureWebJobsMobileAppApiKeyName, "Default" }, { MobileAppsExtensionConfigProvider.AzureWebJobsMobileAppUriName, "https://default" }, { "Attribute", "ResolvedAttribute" } }); }) .Build(); var configProvider = host.Services.GetService <IExtensionConfigProvider>() as MobileAppsExtensionConfigProvider; var context = TestHelpers.CreateExtensionConfigContext(new TestNameResolver()); configProvider.Initialize(context); return(configProvider); }