robots_test.go
1package middleware
2
3import (
4 "slices"
5 "testing"
6
7 "github.com/stretchr/testify/assert"
8)
9
10func TestRobots(t *testing.T) {
11 b := newFilter()
12 ss := getList(robotsTxt)
13 wl := getList(whitelist)
14 for _, s := range ss {
15 if slices.Contains(wl, s) {
16 assert.False(t, b.Test([]byte(s)))
17 } else {
18 assert.True(t, b.Test([]byte(s)), "expected true: %s", s)
19 }
20 }
21 assert.False(t, b.Test([]byte("ok")))
22}
23
24func TestPublicAPI(t *testing.T) {
25 ss := getList(robotsTxt)
26 wl := getList(whitelist)
27 for _, s := range ss {
28 if slices.Contains(wl, s) {
29 assert.False(t, IsRobot(s))
30 continue
31 }
32 assert.True(t, IsRobot(s))
33 }
34}