(t *testing.T)
| 47 | } |
| 48 | |
| 49 | func TestImageUploadAndDelete(t *testing.T) { |
| 50 | cmd := test.GetRootCmdWithSubCommands(NewCmds()...) |
| 51 | ch := test.InitChannel(t) |
| 52 | u := test.CreateUser() |
| 53 | |
| 54 | tmpfile, err := os.CreateTemp("", "*.png") |
| 55 | require.NoError(t, err) |
| 56 | |
| 57 | m := image.NewRGBA(image.Rect(0, 0, 1, 1)) |
| 58 | err = png.Encode(tmpfile, m) |
| 59 | require.NoError(t, err) |
| 60 | |
| 61 | t.Cleanup(func() { |
| 62 | _ = tmpfile.Close() |
| 63 | _ = os.Remove(tmpfile.Name()) |
| 64 | test.DeleteUser(u) |
| 65 | test.DeleteChannel(ch) |
| 66 | }) |
| 67 | |
| 68 | cmd.SetArgs([]string{"upload-image", "-t", "messaging", "-i", ch, "-u", u, "--file", tmpfile.Name()}) |
| 69 | _, err = cmd.ExecuteC() |
| 70 | require.NoError(t, err) |
| 71 | |
| 72 | stdOut := cmd.OutOrStdout().(*bytes.Buffer).String() |
| 73 | require.Contains(t, stdOut, "Successfully uploaded image") |
| 74 | |
| 75 | // The stdout looks like this: |
| 76 | // Successfully uploaded image: http://example.org/image.png\n |
| 77 | url := strings.Split(stdOut, ": ")[1] |
| 78 | url = strings.TrimSuffix(url, "\n") |
| 79 | cmd.SetArgs([]string{"delete-image", "-t", "messaging", "-i", ch, "--image-url", url}) |
| 80 | _, err = cmd.ExecuteC() |
| 81 | require.NoError(t, err) |
| 82 | } |
nothing calls this directly
no test coverage detected