diff options
| author | Xe Iaso <me@xeiaso.net> | 2023-11-03 16:18:09 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2023-11-03 16:18:09 -0400 |
| commit | 7552099904115e6ce9136c7bf8320d6691c9c68c (patch) | |
| tree | df3b8604a22da6217db598147a755f582193452a /web/fly/flymachines/apps_test.go | |
| parent | fb6c435b59146d0e964461ed8b2636a7874c4f81 (diff) | |
| download | x-7552099904115e6ce9136c7bf8320d6691c9c68c.tar.xz x-7552099904115e6ce9136c7bf8320d6691c9c68c.zip | |
web/fly: add new package flymachines
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'web/fly/flymachines/apps_test.go')
| -rw-r--r-- | web/fly/flymachines/apps_test.go | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/web/fly/flymachines/apps_test.go b/web/fly/flymachines/apps_test.go new file mode 100644 index 0000000..52c591d --- /dev/null +++ b/web/fly/flymachines/apps_test.go @@ -0,0 +1,58 @@ +package flymachines + +import ( + "context" + "net/http" + "os" + "testing" + + _ "github.com/joho/godotenv/autoload" + "within.website/x/misc/namegen" +) + +func TestAppLifecycle(t *testing.T) { + token, ok := os.LookupEnv("FLY_API_TOKEN") + if !ok { + t.Skip("no FLY_API_TOKEN") + } + + cli := New(token, http.DefaultClient) + ctx := context.Background() + + name := namegen.Next() + t.Logf("creating app %s", name) + + _, err := cli.CreateApp(ctx, CreateAppArgs{ + AppName: name, + Network: "xtest", + OrgSlug: "personal", + }) + if err != nil { + t.Fatal(err) + } + t.Logf("created app %s", name) + + t.Logf("getting app %s", name) + app, err := cli.GetApp(ctx, name) + if err != nil { + t.Fatal(err) + } + + t.Logf("got app %s: %s", app.Name, app.Status) + + t.Log("listing all apps") + + apps, err := cli.GetApps(ctx, "personal") + if err != nil { + t.Fatal(err) + } + + for _, app := range apps { + t.Logf("app: %s", app.Name) + } + + t.Logf("deleting app %s", name) + if err := cli.DeleteApp(ctx, name); err != nil { + t.Fatal(err) + } +} |
