aboutsummaryrefslogtreecommitdiff
path: root/web/fly/flymachines/apps_test.go
diff options
context:
space:
mode:
authorXe Iaso <me@xeiaso.net>2023-11-03 16:18:09 -0400
committerXe Iaso <me@xeiaso.net>2023-11-03 16:18:09 -0400
commit7552099904115e6ce9136c7bf8320d6691c9c68c (patch)
treedf3b8604a22da6217db598147a755f582193452a /web/fly/flymachines/apps_test.go
parentfb6c435b59146d0e964461ed8b2636a7874c4f81 (diff)
downloadx-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.go58
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)
+ }
+}