Example #1
0
        public async Task CreateOrUpdateRepoSettingsAsync(RepoSettings settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (string.IsNullOrEmpty(settings.Id))
            {
                settings.Id = $"{settings.OwnerId}/{settings.RepositoryId}";
            }
            var validator         = new RepoSettingsValidator();
            var validationResults = await validator.ValidateAsync(settings);

            if (!validationResults.IsValid)
            {
                throw new ValidationException("Invalid repo settings", validationResults);
            }
            var updateResponse = await _client.IndexDocumentAsync(settings);

            if (!updateResponse.IsValid)
            {
                throw new OwnerSettingsStoreException($"Error updating repo settings for owner/repo ID {settings.RepositoryId}");
            }

            await _client.RefreshAsync(Indices.Index <RepoSettings>());
        }
Example #2
0
 public RepoSettingsValidatorTests()
 {
     _validator = new RepoSettingsValidator();
 }