예제 #1
0
        public async Task ProcessEventAsync_DuplicateGenerationsAreProcessedIfForcedByConfiguration(WatchEventType eventType)
        {
            // Arrange
            var controller = new TestableController(new OperatorConfiguration()
            {
                DiscardDuplicateSpecGenerations = false
            }, _client);
            var resource_v1 = CreateCustomResource(generation: 1);
            var resource_v2 = CreateCustomResource(generation: 2);

            // Act
            await controller.ProcessEventAsync(new CustomResourceEvent(eventType, resource_v1), DUMMY_TOKEN);

            await controller.ProcessEventAsync(new CustomResourceEvent(eventType, resource_v1), DUMMY_TOKEN); // duplicate generation

            await controller.ProcessEventAsync(new CustomResourceEvent(eventType, resource_v2), DUMMY_TOKEN);

            // Assert
            VerifyAddOrModifyIsCalledWith(controller, resource_v1, resource_v1, resource_v2);
            VerifyDeleteIsNotCalled(controller);
            VerifyNoOtherApiIsCalled();
        }
예제 #2
0
        public async Task ProcessEventAsync_AddOrModifyIsCalled(WatchEventType eventType)
        {
            // Arrange
            var resource      = CreateCustomResource();
            var resourceEvent = new CustomResourceEvent(eventType, resource);

            // Act
            await _controller.ProcessEventAsync(resourceEvent, DUMMY_TOKEN);

            // Assert
            VerifyAddOrModifyIsCalledWith(_controller, resource);
            VerifyDeleteIsNotCalled(_controller);
            VerifyNoOtherApiIsCalled();
        }