diff --git a/README.md b/README.md index ad585a1..5ec670e 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,7 @@ See [internal/mock](internal/mock/README.md) for its options and behaviour. | `internal/config` | Configuration loading, validation and editing | | `internal/fetcher` | Runs a worker per enabled source | | `internal/store` | SQLite storage of opportunities, and its migrations (see [internal/store](internal/store/README.md)) | -| `internal/findATender` | FTS API client and conversion from OCDS to JobSearch types | +| `internal/findatender` | FTS API client and conversion from OCDS to JobSearch types | | `internal/types` | JobSearch's own opportunity types | | `internal/util` | The periodic `Worker` used by the fetcher | | `internal/logging` | slog setup and the HTTP access log | @@ -134,7 +134,7 @@ Tests don't need network access; HTTP calls go to local `httptest` servers. Using a source called `example` as an illustration: 1. **Configuration section:** create `internal/config/conf_source_example.go`, - copying an existing source such as `conf_source_ftsMock.go`: + copying an existing source such as `conf_source_ftsmock.go`: - Add a `JSCKSourceExample = "example"` constant. - Define `JobSearchConfigSourceExample`, embedding `JobSearchConfigSource` (for `enabled` and `interval`), plus any fields of its own with `cfg` and @@ -152,10 +152,10 @@ Using a source called `example` as an illustration: code. 3. **Client package:** create a package that fetches from the source and returns `[]*types.Opportunity` (see `internal/types`). If the source - publishes OCDS, `internal/findATender` may already be suitable, as it is + publishes OCDS, `internal/findatender` may already be suitable, as it is for `fts_mock`: create it with the source's own API root. 4. **Worker:** create `internal/fetcher/worker_example.go`, following - `worker_ftsMock.go`: + `worker_ftsmock.go`: - `runExample(ctx, conf, since)` builds a `util.Worker` with the source's name, `conf.Sources.Example.Interval` and a task, then calls `Run`. - The task fetches everything since its `since` argument. Wrap blocking diff --git a/cmd/mock-fts/main.go b/cmd/mock-fts/main.go index 2a122fa..0f64f58 100644 --- a/cmd/mock-fts/main.go +++ b/cmd/mock-fts/main.go @@ -33,7 +33,7 @@ import ( _ "time/tzdata" "git.avsdev.uk/Go/job-search/internal/logging" - mock "git.avsdev.uk/Go/job-search/internal/mock/findATender" + mock "git.avsdev.uk/Go/job-search/internal/mock/findatender" "github.com/spf13/cobra" ) @@ -71,7 +71,7 @@ returned in UTC. Data: the catalog of buyers, suppliers, tender subjects, procurement methods and classifications that releases are generated from is embedded in the -build from internal/mock/findATender/data/catalog.json. The mock stops with an +build from internal/mock/findatender/data/catalog.json. The mock stops with an error if it is invalid. Releases are generated from that catalog and appended to diff --git a/internal/cli/confirmAction.go b/internal/cli/confirm_action.go similarity index 100% rename from internal/cli/confirmAction.go rename to internal/cli/confirm_action.go diff --git a/internal/cli/fetch/once.go b/internal/cli/fetch/once.go index 21d4af1..18660d4 100644 --- a/internal/cli/fetch/once.go +++ b/internal/cli/fetch/once.go @@ -8,7 +8,7 @@ import ( "time" "git.avsdev.uk/Go/job-search/internal/cli" - "git.avsdev.uk/Go/job-search/internal/findATender" + "git.avsdev.uk/Go/job-search/internal/findatender" "git.avsdev.uk/Go/job-search/internal/types" "github.com/spf13/cobra" ) @@ -70,7 +70,7 @@ func commandOnce(opts *cli.Options) *cobra.Command { return sinceErr } - ft := findATender.New(conf, conf.Sources.FindATender.APIRoot) + ft := findatender.New(conf, conf.Sources.FindATender.APIRoot) defer ft.Shutdown() ignoreRateLimit, _ := cmd.Flags().GetBool("ignore-rate-limit") diff --git a/internal/config/conf_source_findATender.go b/internal/config/conf_source_findatender.go similarity index 100% rename from internal/config/conf_source_findATender.go rename to internal/config/conf_source_findatender.go diff --git a/internal/config/conf_source_ftsMock.go b/internal/config/conf_source_ftsmock.go similarity index 100% rename from internal/config/conf_source_ftsMock.go rename to internal/config/conf_source_ftsmock.go diff --git a/internal/fetcher/worker_findATender.go b/internal/fetcher/worker_findatender.go similarity index 88% rename from internal/fetcher/worker_findATender.go rename to internal/fetcher/worker_findatender.go index 5c1b86b..7d8d8a7 100644 --- a/internal/fetcher/worker_findATender.go +++ b/internal/fetcher/worker_findatender.go @@ -8,7 +8,7 @@ import ( "time" "git.avsdev.uk/Go/job-search/internal/config" - "git.avsdev.uk/Go/job-search/internal/findATender" + "git.avsdev.uk/Go/job-search/internal/findatender" "git.avsdev.uk/Go/job-search/internal/types" "git.avsdev.uk/Go/job-search/internal/util" ) @@ -35,11 +35,11 @@ func fetchFindAOpportunity( ctx context.Context, conf *config.JobSearchConfig, since time.Time, ) error { opportunities, err := util.AwaitTask(ctx, func() ([]*types.Opportunity, error) { - ft := findATender.New(conf, conf.Sources.FindATender.APIRoot) + ft := findatender.New(conf, conf.Sources.FindATender.APIRoot) defer ft.Shutdown() return ft.With(ctx).FetchAll(since, true) }) - if errors.Is(err, findATender.ErrNoReleases) { + if errors.Is(err, findatender.ErrNoReleases) { return ErrNoNewReleases } if err != nil { diff --git a/internal/fetcher/worker_ftsMock.go b/internal/fetcher/worker_ftsmock.go similarity index 88% rename from internal/fetcher/worker_ftsMock.go rename to internal/fetcher/worker_ftsmock.go index 4e04ec5..8946906 100644 --- a/internal/fetcher/worker_ftsMock.go +++ b/internal/fetcher/worker_ftsmock.go @@ -8,7 +8,7 @@ import ( "time" "git.avsdev.uk/Go/job-search/internal/config" - "git.avsdev.uk/Go/job-search/internal/findATender" + "git.avsdev.uk/Go/job-search/internal/findatender" "git.avsdev.uk/Go/job-search/internal/types" "git.avsdev.uk/Go/job-search/internal/util" ) @@ -35,11 +35,11 @@ func fetchFTSMock( ctx context.Context, conf *config.JobSearchConfig, since time.Time, ) error { opportunities, err := util.AwaitTask(ctx, func() ([]*types.Opportunity, error) { - ft := findATender.New(conf, conf.Sources.FTSMock.APIRoot) + ft := findatender.New(conf, conf.Sources.FTSMock.APIRoot) defer ft.Shutdown() return ft.With(ctx).FetchAll(since, true) }) - if errors.Is(err, findATender.ErrNoReleases) { + if errors.Is(err, findatender.ErrNoReleases) { return ErrNoNewReleases } if err != nil { diff --git a/internal/findATender/.gitignore b/internal/findatender/.gitignore similarity index 100% rename from internal/findATender/.gitignore rename to internal/findatender/.gitignore diff --git a/internal/findATender/api.go b/internal/findatender/api.go similarity index 99% rename from internal/findATender/api.go rename to internal/findatender/api.go index e63292b..9901f09 100644 --- a/internal/findATender/api.go +++ b/internal/findatender/api.go @@ -1,4 +1,4 @@ -package findATender +package findatender import ( "bytes" @@ -13,7 +13,7 @@ import ( "strings" "time" - "git.avsdev.uk/Go/job-search/internal/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/findatender/ocds" "git.avsdev.uk/Go/job-search/internal/logging" resty "resty.dev/v3" ) diff --git a/internal/findATender/api_test.go b/internal/findatender/api_test.go similarity index 99% rename from internal/findATender/api_test.go rename to internal/findatender/api_test.go index b302938..a1fe39b 100644 --- a/internal/findATender/api_test.go +++ b/internal/findatender/api_test.go @@ -1,4 +1,4 @@ -package findATender +package findatender import ( "bytes" @@ -16,7 +16,7 @@ import ( "time" "git.avsdev.uk/Go/job-search/internal/config" - "git.avsdev.uk/Go/job-search/internal/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/findatender/ocds" resty "resty.dev/v3" ) diff --git a/internal/findATender/findATender.go b/internal/findatender/findatender.go similarity index 96% rename from internal/findATender/findATender.go rename to internal/findatender/findatender.go index 77eb328..7d618b1 100644 --- a/internal/findATender/findATender.go +++ b/internal/findatender/findatender.go @@ -1,4 +1,4 @@ -package findATender +package findatender import ( "context" @@ -54,7 +54,7 @@ func (ft *FindATender) With(ctx context.Context) *FindATender { // logged, as there is nothing a caller could do about it. func (ft *FindATender) Shutdown() { if err := ft.httpClient.Close(); err != nil { - slog.Warn("findATender: closing HTTP client", "error", err) + slog.Warn("findatender: closing HTTP client", "error", err) } } diff --git a/internal/findATender/findATender_test.go b/internal/findatender/findatender_test.go similarity index 99% rename from internal/findATender/findATender_test.go rename to internal/findatender/findatender_test.go index d2442af..2385475 100644 --- a/internal/findATender/findATender_test.go +++ b/internal/findatender/findatender_test.go @@ -1,4 +1,4 @@ -package findATender +package findatender import ( "context" diff --git a/internal/findATender/ocds/extensions.json b/internal/findatender/ocds/extensions.json similarity index 100% rename from internal/findATender/ocds/extensions.json rename to internal/findatender/ocds/extensions.json diff --git a/internal/findATender/ocds/generate.go b/internal/findatender/ocds/generate.go similarity index 100% rename from internal/findATender/ocds/generate.go rename to internal/findatender/ocds/generate.go diff --git a/internal/findATender/typeConvert.go b/internal/findatender/type_convert.go similarity index 98% rename from internal/findATender/typeConvert.go rename to internal/findatender/type_convert.go index 0c832c0..2da1671 100644 --- a/internal/findATender/typeConvert.go +++ b/internal/findatender/type_convert.go @@ -1,11 +1,11 @@ -package findATender +package findatender import ( "encoding/json" "slices" "strings" - "git.avsdev.uk/Go/job-search/internal/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/findatender/ocds" "git.avsdev.uk/Go/job-search/internal/types" ) diff --git a/internal/findATender/typeConvert_test.go b/internal/findatender/type_convert_test.go similarity index 99% rename from internal/findATender/typeConvert_test.go rename to internal/findatender/type_convert_test.go index 50f1043..9c270ab 100644 --- a/internal/findATender/typeConvert_test.go +++ b/internal/findatender/type_convert_test.go @@ -1,4 +1,4 @@ -package findATender +package findatender import ( "encoding/json" @@ -7,7 +7,7 @@ import ( "testing" "time" - "git.avsdev.uk/Go/job-search/internal/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/findatender/ocds" "git.avsdev.uk/Go/job-search/internal/types" ) diff --git a/internal/mock/README.md b/internal/mock/README.md index 034c4b4..a318221 100644 --- a/internal/mock/README.md +++ b/internal/mock/README.md @@ -5,10 +5,10 @@ development and testing without hitting the real APIs or their rate limits. | Package | Mocks | Command | |---|---|---| -| `findATender` | UK Government Find a Tender service (FTS) OCDS API | `cmd/mock-fts` | +| `findatender` | UK Government Find a Tender service (FTS) OCDS API | `cmd/mock-fts` | -## findATender +## findatender A mock of the FTS release package endpoint: ``` @@ -81,7 +81,7 @@ Query parameters, as on the real service: ### Generated data -- **Catalog** (`findATender/data/catalog.json`): the buyers, suppliers, +- **Catalog** (`findatender/data/catalog.json`): the buyers, suppliers, tender subjects, procurement methods and classifications that releases are drawn from. It's embedded in the binary, so rebuild after changing it. Subjects refer to classifications by `{scheme}-{id}` keys (e.g. @@ -111,5 +111,5 @@ Query parameters, as on the real service: | `ocds/` | Generated OCDS types (`ocds_gen.go`, from `ocdsgen`); don't edit by hand | | `testdata/` | A small catalog used by the tests | -The mock's `ocds` package is separate from `internal/findATender/ocds`, which +The mock's `ocds` package is separate from `internal/findatender/ocds`, which the JobSearch client uses. diff --git a/internal/mock/findATender/catalog.go b/internal/mock/findatender/catalog.go similarity index 98% rename from internal/mock/findATender/catalog.go rename to internal/mock/findatender/catalog.go index 93af809..25a0b73 100644 --- a/internal/mock/findATender/catalog.go +++ b/internal/mock/findatender/catalog.go @@ -9,7 +9,7 @@ import ( "sort" "strings" - "git.avsdev.uk/Go/job-search/internal/mock/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/mock/findatender/ocds" ) // Method is a procurement method and its details, as published on a tender. diff --git a/internal/mock/findATender/catalog_test.go b/internal/mock/findatender/catalog_test.go similarity index 100% rename from internal/mock/findATender/catalog_test.go rename to internal/mock/findatender/catalog_test.go diff --git a/internal/mock/findATender/data/catalog.json b/internal/mock/findatender/data/catalog.json similarity index 100% rename from internal/mock/findATender/data/catalog.json rename to internal/mock/findatender/data/catalog.json diff --git a/internal/mock/findATender/doc.go b/internal/mock/findatender/doc.go similarity index 100% rename from internal/mock/findATender/doc.go rename to internal/mock/findatender/doc.go diff --git a/internal/mock/findATender/generator.go b/internal/mock/findatender/generator.go similarity index 99% rename from internal/mock/findATender/generator.go rename to internal/mock/findatender/generator.go index f6dd7bd..16ca31e 100644 --- a/internal/mock/findATender/generator.go +++ b/internal/mock/findatender/generator.go @@ -9,7 +9,7 @@ import ( "math/rand" "time" - "git.avsdev.uk/Go/job-search/internal/mock/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/mock/findatender/ocds" ) const ocidPrefix = "ocds-mock-" diff --git a/internal/mock/findATender/generator_test.go b/internal/mock/findatender/generator_test.go similarity index 98% rename from internal/mock/findATender/generator_test.go rename to internal/mock/findatender/generator_test.go index 6037332..77beb1c 100644 --- a/internal/mock/findATender/generator_test.go +++ b/internal/mock/findatender/generator_test.go @@ -10,7 +10,7 @@ import ( "testing" "time" - "git.avsdev.uk/Go/job-search/internal/mock/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/mock/findatender/ocds" ) func quietLog(t *testing.T) { diff --git a/internal/mock/findATender/handler.go b/internal/mock/findatender/handler.go similarity index 98% rename from internal/mock/findATender/handler.go rename to internal/mock/findatender/handler.go index 3517c4a..8ce907b 100644 --- a/internal/mock/findATender/handler.go +++ b/internal/mock/findatender/handler.go @@ -12,7 +12,7 @@ import ( "strings" "time" - "git.avsdev.uk/Go/job-search/internal/mock/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/mock/findatender/ocds" ) const ( diff --git a/internal/mock/findATender/handler_test.go b/internal/mock/findatender/handler_test.go similarity index 99% rename from internal/mock/findATender/handler_test.go rename to internal/mock/findatender/handler_test.go index 2a8a68e..cd3b1ab 100644 --- a/internal/mock/findATender/handler_test.go +++ b/internal/mock/findatender/handler_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "git.avsdev.uk/Go/job-search/internal/mock/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/mock/findatender/ocds" ) func TestUpdatedFromIsLocalTime(t *testing.T) { diff --git a/internal/mock/findATender/ocds/ocds_gen.go b/internal/mock/findatender/ocds/ocds_gen.go similarity index 100% rename from internal/mock/findATender/ocds/ocds_gen.go rename to internal/mock/findatender/ocds/ocds_gen.go diff --git a/internal/mock/findATender/ratelimit.go b/internal/mock/findatender/ratelimit.go similarity index 100% rename from internal/mock/findATender/ratelimit.go rename to internal/mock/findatender/ratelimit.go diff --git a/internal/mock/findATender/ratelimit_test.go b/internal/mock/findatender/ratelimit_test.go similarity index 100% rename from internal/mock/findATender/ratelimit_test.go rename to internal/mock/findatender/ratelimit_test.go diff --git a/internal/mock/findATender/store.go b/internal/mock/findatender/store.go similarity index 99% rename from internal/mock/findATender/store.go rename to internal/mock/findatender/store.go index d4342e5..3a9e11c 100644 --- a/internal/mock/findATender/store.go +++ b/internal/mock/findatender/store.go @@ -16,7 +16,7 @@ import ( "sync" "time" - "git.avsdev.uk/Go/job-search/internal/mock/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/mock/findatender/ocds" ) // Store keeps every release in memory and appends each new one to a JSON Lines diff --git a/internal/mock/findATender/store_test.go b/internal/mock/findatender/store_test.go similarity index 99% rename from internal/mock/findATender/store_test.go rename to internal/mock/findatender/store_test.go index ce173a4..ceb8f8a 100644 --- a/internal/mock/findATender/store_test.go +++ b/internal/mock/findatender/store_test.go @@ -11,7 +11,7 @@ import ( "testing" "time" - "git.avsdev.uk/Go/job-search/internal/mock/findATender/ocds" + "git.avsdev.uk/Go/job-search/internal/mock/findatender/ocds" ) func TestStorePersistsAndGeneratorProgresses(t *testing.T) { diff --git a/internal/mock/findATender/testdata/catalog.json b/internal/mock/findatender/testdata/catalog.json similarity index 100% rename from internal/mock/findATender/testdata/catalog.json rename to internal/mock/findatender/testdata/catalog.json