public async Task Updater_should_return_non_changed_result_if_version_not_modified()
        {
            var previousUpdateResult = new SettingsUpdaterResult(false, 1, SettingsVersionType.ClusterConfig, null);

            singularClient.SendAsync(Arg.Any <Request>())
            .Returns(info => Task.FromResult(NotModifiedResult()));

            var actualResult = await settingsUpdater.UpdateAsync(Environment, Service, previousUpdateResult);

            actualResult.Should().NotBeNull();
            actualResult.Changed.Should().BeFalse();
            actualResult.Version.Should().Be(previousUpdateResult.Version);
            actualResult.VersionType.Should().Be(previousUpdateResult.VersionType);
            actualResult.Settings.Should().BeNull();
        }
        public async Task Updater_should_return_changed_result_if_version_modified()
        {
            var previousUpdateResult = new SettingsUpdaterResult(false, 1, SettingsVersionType.ClusterConfig, null);
            var settings             = new VersionedSettings <SingularSettings>(SettingsVersionType.PublicationApi, 2, new SingularSettings());
            var content = ConfigurationPrinter.Print(settings, new PrintSettings()
            {
                Format = PrintFormat.JSON
            });

            singularClient.SendAsync(Arg.Any <Request>())
            .Returns(info => Task.FromResult(OkResult(content)));

            var actualResult = await settingsUpdater.UpdateAsync(Environment, Service, previousUpdateResult);

            actualResult.Should().NotBeNull();
            actualResult.Changed.Should().BeTrue();
            actualResult.Version.Should().Be(settings.Version);
            actualResult.VersionType.Should().Be(settings.VersionType);
            actualResult.Settings.Should().NotBeNull();
        }