aboutsummaryrefslogtreecommitdiff
path: root/kamusku_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'kamusku_test.go')
-rw-r--r--kamusku_test.go61
1 files changed, 61 insertions, 0 deletions
diff --git a/kamusku_test.go b/kamusku_test.go
new file mode 100644
index 0000000..3d2989f
--- /dev/null
+++ b/kamusku_test.go
@@ -0,0 +1,61 @@
+// SPDX-FileCopyrightText: 2020 M. Shulhan <ms@kilabit.info>
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package kamusku
+
+import (
+ "log"
+ "os"
+ "testing"
+ "time"
+
+ "git.sr.ht/~shulhan/kbbi"
+ libnet "git.sr.ht/~shulhan/pakakeh.go/lib/net"
+)
+
+const (
+ testServerAPI = `http://` + defListen
+ testKamusStorage = "testdata/kamus.gob"
+)
+
+// nolint: gochecknoglobals
+var (
+ testServer *Server
+
+ testKataMengeja = &kbbi.Word{
+ Root: "eja",
+ Definition: []*kbbi.WordDefinition{{
+ Value: "melafalkan (menyebutkan) huruf-huruf satu demi satu",
+ Classes: []string{"Verba: kata kerja"},
+ Examples: []string{
+ `kita ~ kata “dapat” dengan “d-a-p-a-t”`,
+ },
+ }},
+ }
+)
+
+func TestMain(m *testing.M) {
+ var err error
+
+ // Run the local server to test the apiClient.
+ testServer, err = NewServer(testKamusStorage)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ testServer.kamus.set("mengeja", testKataMengeja)
+
+ go func() {
+ err := testServer.Start()
+ if err != nil {
+ log.Fatal(err)
+ }
+ }()
+
+ err = libnet.WaitAlive(`tcp`, defListen, 3*time.Second)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ os.Exit(m.Run())
+}