1package visual
2
3import (
4 "encoding/json"
5 "io"
6 "os"
7 "reflect"
8 "testing"
9)
10
11func TestHiveParse(t *testing.T) {
12 file, err := os.Open("testdata/hiveai_resp_example.json")
13 if err != nil {
14 t.Fatal(err)
15 }
16
17 respBytes, err := io.ReadAll(file)
18 if err != nil {
19 t.Fatal(err)
20 }
21
22 var respObj HiveAIResp
23 if err := json.Unmarshal(respBytes, &respObj); err != nil {
24 t.Fatal(err)
25 }
26
27 classes := respObj.Status[0].Response.Output[0].Classes
28 if len(classes) <= 10 {
29 t.Fatal("didn't get expected class count")
30 }
31 for _, c := range classes {
32 if c.Class == "" || c.Score == 0.0 {
33 t.Fatal("got null/empty class in resp")
34 }
35 }
36
37 labels := respObj.SummarizeLabels()
38 expected := []string{"porn"}
39 if !reflect.DeepEqual(labels, expected) {
40 t.Fatal("didn't summarize to expected labels")
41 }
42}