diff options
author | Brian Picciano <mediocregopher@gmail.com> | 2022-09-13 12:56:08 +0200 |
---|---|---|
committer | Brian Picciano <mediocregopher@gmail.com> | 2022-09-13 12:56:08 +0200 |
commit | 4f01edb9230f58ff84b0dd892c931ec8ac9aad55 (patch) | |
tree | 9c1598a3f98203913ac2548883c02a81deb33dc7 /srv/src/cmd/load-test-data/main.go | |
parent | 5485984e05aebde22819adebfbd5ad51475a6c21 (diff) |
move src out of srv, clean up default.nix and Makefile
Diffstat (limited to 'srv/src/cmd/load-test-data/main.go')
-rw-r--r-- | srv/src/cmd/load-test-data/main.go | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/srv/src/cmd/load-test-data/main.go b/srv/src/cmd/load-test-data/main.go deleted file mode 100644 index 5ebee32..0000000 --- a/srv/src/cmd/load-test-data/main.go +++ /dev/null @@ -1,129 +0,0 @@ -package main - -import ( - "context" - "fmt" - "os" - "path/filepath" - "time" - - cfgpkg "github.com/mediocregopher/blog.mediocregopher.com/srv/cfg" - "github.com/mediocregopher/blog.mediocregopher.com/srv/post" - "github.com/mediocregopher/mediocre-go-lib/v2/mctx" - "github.com/mediocregopher/mediocre-go-lib/v2/mlog" - "gopkg.in/yaml.v3" -) - -type testData struct { - PublishedPosts []post.Post `yaml:"published_posts"` - Assets map[string]string -} - -func loadTestData(path string) (testData, error) { - - f, err := os.Open(path) - if err != nil { - return testData{}, fmt.Errorf("opening file: %w", err) - } - defer f.Close() - - var res testData - - if err := yaml.NewDecoder(f).Decode(&res); err != nil { - return testData{}, fmt.Errorf("decoding file contents: %w", err) - } - - return res, nil -} - -func main() { - - ctx := context.Background() - - cfg := cfgpkg.NewBlogCfg(cfgpkg.Params{}) - - var dataDir cfgpkg.DataDir - dataDir.SetupCfg(cfg) - defer dataDir.Close() - ctx = mctx.WithAnnotator(ctx, &dataDir) - - testDataPath := cfg.String("test-data-path", "./test-data.yml", "File containing the data to be loaded in") - - // initialization - err := cfg.Init(ctx) - - logger := mlog.NewLogger(nil) - defer logger.Close() - - logger.Info(ctx, "process started") - defer logger.Info(ctx, "process exiting") - - if err != nil { - logger.Fatal(ctx, "initializing", err) - } - - testDataDir := filepath.Dir(*testDataPath) - - testData, err := loadTestData(*testDataPath) - if err != nil { - logger.Fatal(ctx, "loading test data", err) - } - - postDB, err := post.NewSQLDB(dataDir) - if err != nil { - logger.Fatal(ctx, "initializing post sql db", err) - } - defer postDB.Close() - - { - - postStore := post.NewStore(postDB) - - now := time.Now().Truncate(time.Hour) - - for _, post := range testData.PublishedPosts { - - ctx := mctx.Annotate(ctx, - "postID", post.ID, - "now", now) - - if _, err := postStore.Set(post, now); err != nil { - logger.Fatal(ctx, "setting post", err) - } - - logger.Info(ctx, "set post") - - now = now.Add(-1 * time.Hour) - } - - } - - { - assetStore := post.NewAssetStore(postDB) - - setAsset := func(assetID, assetPath string) error { - assetFullPath := filepath.Join(testDataDir, assetPath) - - f, err := os.Open(assetFullPath) - if err != nil { - return fmt.Errorf("opening %q for reading: %w", assetFullPath, err) - } - defer f.Close() - - return assetStore.Set(assetID, f) - } - - for assetID, assetPath := range testData.Assets { - - ctx := mctx.Annotate(ctx, - "assetID", assetID, - "assetPath", assetPath) - - if err := setAsset(assetID, assetPath); err != nil { - logger.Fatal(ctx, "setting asset", err) - } - - logger.Info(ctx, "set asset") - } - } -} |