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}