Example #1
0
        public void UpdateHandlerReturnsMockDefinitionTest()
        {
            #region Test Setup

            var metadataFake = new Faker <MetadataInfo>()
                               .RuleFor(m => m.Title, f => f.Lorem.Sentence())
                               .RuleFor(m => m.Description, f => f.Lorem.Paragraph());

            var mockDefinitionFake = new Faker <MockDefinition>()
                                     .RuleFor(m => m.Host, f => f.Internet.DomainName())
                                     .RuleFor(m => m.Metadata, f => metadataFake.Generate());

            var options = new MemoryCacheOptions();
            var cache   = new MemoryCache(options);

            var Expected             = mockDefinitionFake.Generate();
            var mockDefinitionUpdate = new MockDefinition {
                Host = Expected.Host + "diff", Metadata = Expected.Metadata
            };

            cache.Set(Expected.Metadata.Title, Expected);

            var updateMockDefinitionCommand = new UpdateMockDefinitionByTitleCommand(mockDefinitionUpdate, ref TestUtils.databaseLock);
            #endregion

            var Target = new UpdateMockDefinitionHandler(cache, data);
            var Actual = Target.Handle(updateMockDefinitionCommand, CancellationToken.None).Result;


            Assert.Equal(Expected, Actual);
        }
Example #2
0
        public void UpdateKeysCollectionExistingKeySuccessTest()
        {
            #region Test Setup

            var metadataFake = new Faker <MetadataInfo>()
                               .RuleFor(m => m.Title, f => f.Lorem.Sentence())
                               .RuleFor(m => m.Description, f => f.Lorem.Paragraph());

            var mockDefinitionFake = new Faker <MockDefinition>()
                                     .RuleFor(m => m.Host, f => f.Internet.DomainName())
                                     .RuleFor(m => m.Metadata, f => metadataFake.Generate());

            var options = new MemoryCacheOptions();
            var cache   = new MemoryCache(options);

            var input = new { mockDefinition = mockDefinitionFake.Generate() };

            var updateMockDefinitionCommand = new UpdateMockDefinitionByTitleCommand(input.mockDefinition, ref TestUtils.databaseLock);
            #endregion

            cache.Set(input.mockDefinition.Metadata.Title, input.mockDefinition);
            cache.Set(data.mockIds, new List <string> {
                input.mockDefinition.Metadata.Title
            });
            var Target = new UpdateMockDefinitionHandler(cache, data);
            Target.Handle(updateMockDefinitionCommand, CancellationToken.None);

            var Actual = cache.Get <List <string> >(data.mockIds);

            Assert.Contains(input.mockDefinition.Metadata.Title, Actual);
        }
Example #3
0
        public void UpdateMockDefinitionCreatedSuccessTest()
        {
            #region Test Setup

            var metadataFake = new Faker <MetadataInfo>()
                               .RuleFor(m => m.Title, f => f.Lorem.Sentence())
                               .RuleFor(m => m.Description, f => f.Lorem.Paragraph());

            var mockDefinitionFake = new Faker <MockDefinition>()
                                     .RuleFor(m => m.Host, f => f.Internet.DomainName())
                                     .RuleFor(m => m.Metadata, f => metadataFake.Generate());

            var options = new MemoryCacheOptions();
            var cache   = new MemoryCache(options);
            #endregion

            var Expected = mockDefinitionFake.Generate();
            var updateMockDefinitionCommand = new UpdateMockDefinitionByTitleCommand(Expected, ref TestUtils.databaseLock);

            var Target = new UpdateMockDefinitionHandler(cache, data);
            Target.Handle(updateMockDefinitionCommand, CancellationToken.None);

            cache.TryGetValue(Expected.Metadata.Title, out var Actual);

            Assert.Equal(Expected, Actual);
        }
        public IActionResult Put([FromBody] MockDefinition mockDefinition)
        {
            var command = new UpdateMockDefinitionByTitleCommand(mockDefinition, ref databaseLock);
            var result  = mediator.Send(command).Result;

            if (result == null)
            {
                return(Created(new Uri($"{Request.Path}/{mockDefinition.Metadata.Title}", UriKind.Relative), mockDefinition));
            }
            Log.Information("OrbitalAdminController: Sent HTTPut Command to update Mockdefinition, {MockDefinition}", mockDefinition.Metadata.Title);
            return(Ok());
        }