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>()); }
public RepoSettingsValidatorTests() { _validator = new RepoSettingsValidator(); }