예제 #1
0
func runner(t *testing.T, tests []testT, iterable []string) {
	user := dt.User{FlexID: "0", FlexIDType: 3}
	data := struct {
		FlexIDType dt.FlexIDType
		FlexID     string
		CMD        string
	}{
		FlexIDType: user.FlexIDType,
		FlexID:     user.FlexID,
	}
	u := os.Getenv("ABOT_URL") + "/"
	for i, test := range tests {
		in, err := core.NewMsg(&user, test.Input)
		if err != nil {
			t.Fatal(err)
		}
		if i == 1 {
			p.SetMemory(in, keyMem, iterable)
		}
		data.CMD = test.Input
		byt, err := json.Marshal(data)
		if err != nil {
			t.Fatal("failed to marshal req.", err)
		}
		c, b := request("POST", u, byt)
		if c != http.StatusOK {
			t.Fatal("expected", http.StatusOK, "got", c, b)
		}
		if !strings.Contains(b, test.Expected) {
			t.Fatalf("test %d/%d: expected %q, got %q\n", i+1,
				len(tests), test.Expected, b)
		}
	}
	cleanup()
}
예제 #2
0
파일: types_test.go 프로젝트: itsabot/abot
func TestIsGreeting(t *testing.T) {
	u := &dt.User{ID: 1}
	in, err := core.NewMsg(u, "Hi there")
	if err != nil {
		t.Fatal(err)
	}
	if !IsGreeting(in) {
		t.Fatal("expected greeting")
	}
	in, err = core.NewMsg(u, "Any random sentence.")
	if err != nil {
		t.Fatal(err)
	}
	if IsGreeting(in) {
		t.Fatal("expected not greeting")
	}
}