public async void CreateWebResourceWithStatusCodeZero()
        {
            const string fakeWebResourceName = "Test web resource 1";
            var          fakeWebResource     = new WebResource
            {
                Name = fakeWebResourceName,
                Uri  = "http://test.test",
            };
            bool result;

            // Set up a context (connection to the "DB") for writing.
            using (var context = new ApplicationDbContext(_options))
            {
                var service = new WebResourceService(context);

                result = await service.CreateWebResourceAsync(fakeWebResource);
            }

            // Use a separate context to read data back from the "DB".
            using (var context = new ApplicationDbContext(_options))
            {
                var webResourcesCount = await context.WebResources.CountAsync();

                Assert.Equal(1, webResourcesCount);

                var webResource = await context.WebResources.FirstAsync();

                Assert.True(result);
                Assert.NotEqual(Guid.Empty, webResource.Id);
                Assert.Equal(fakeWebResourceName, webResource.Name);
                Assert.True((DateTimeOffset.Now - webResource.LastUpdated).TotalSeconds < 1);
                Assert.Equal(0, (int)webResource.StatusCode);
            }
        }
Пример #2
0
        public static void Main(string[] args)
        {
            var parsedArgs = Parser.Default.ParseArguments <InitOptions, PushOptions, PullOptions, DeleteOptions>(args);

            try
            {
                parsedArgs
                .WithParsed <Options>(options =>
                {
                    using (var client = new CrmServiceClient(options.ConnectionString))
                    {
                        if (!client.IsReady)
                        {
                            throw new Exception(client.LastCrmError, client.LastCrmException);
                        }

                        var webResourcesSvc = new WebResourceService(client);

                        parsedArgs
                        .WithParsed <InitOptions>(webResourcesSvc.Init)
                        .WithParsed <PushOptions>(webResourcesSvc.Push)
                        .WithParsed <PullOptions>(webResourcesSvc.Pull)
                        .WithParsed <DeleteOptions>(webResourcesSvc.Delete)
                        .WithNotParsed(ProcessParserErrors);
                    }
                })
                .WithNotParsed(ProcessParserErrors);
            }
            catch (Exception ex)
            {
                _logger.Error(ex.ToString());
            }
            finally
            {
                parsedArgs
                .WithParsed <Options>(options =>
                {
                    if (options.Quiet)
                    {
                        return;
                    }

                    Console.WriteLine("Press ENTER to exit...");
                    Console.ReadLine();
                });
            }
        }