Browse Source

cmd/fdroidcl: add first search tests

Also skip the end to end tests if we can't reach f-droid.org.
pull/32/head
Daniel Martí 8 years ago
parent
commit
bead346987
  1. 21
      cmd/fdroidcl/endtoend_test.go

21
cmd/fdroidcl/endtoend_test.go

@ -5,14 +5,22 @@ package main
import (
"io/ioutil"
"net/http"
"os"
"os/exec"
"path/filepath"
"regexp"
"testing"
"time"
)
func TestEndToEnd(t *testing.T) {
url := config.Repos[0].URL
client := http.Client{Timeout: 2 * time.Second}
if _, err := client.Get(url); err != nil {
t.Skipf("skipping since %s is unreachable: %v", url, err)
}
dir, err := ioutil.TempDir("", "fdroidcl")
if err != nil {
t.Fatal(err)
@ -53,6 +61,19 @@ func TestEndToEnd(t *testing.T) {
t.Run("UpdateCached", func(t *testing.T) {
mustSucceed(t, `not modified`, "update")
})
t.Run("SearchNoArgs", func(t *testing.T) {
mustSucceed(t, `F-Droid`, "search")
})
t.Run("SearchWithArgs", func(t *testing.T) {
mustSucceed(t, `F-Droid`, "search", "fdroid.fdroid")
})
t.Run("SearchWithArgsNone", func(t *testing.T) {
mustSucceed(t, `^$`, "search", "nomatches")
})
t.Run("SearchOnlyPackageNames", func(t *testing.T) {
mustSucceed(t, `^[^ ]*$`, "search", "-q", "fdroid.fdroid")
})
}
func mustRun(t *testing.T, success bool, wantRe, name string, args ...string) {

Loading…
Cancel
Save