78 lines
1.8 KiB
Go
78 lines
1.8 KiB
Go
|
package nettests
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/google/go-cmp/cmp"
|
||
|
"github.com/ooni/probe-cli/v3/internal/engine/model"
|
||
|
)
|
||
|
|
||
|
func TestPreventMistakesWithCategories(t *testing.T) {
|
||
|
input := []model.URLInfo{{
|
||
|
CategoryCode: "NEWS",
|
||
|
URL: "https://repubblica.it/",
|
||
|
CountryCode: "IT",
|
||
|
}, {
|
||
|
CategoryCode: "HACK",
|
||
|
URL: "https://2600.com",
|
||
|
CountryCode: "XX",
|
||
|
}, {
|
||
|
CategoryCode: "FILE",
|
||
|
URL: "https://addons.mozilla.org/",
|
||
|
CountryCode: "XX",
|
||
|
}}
|
||
|
desired := []model.URLInfo{{
|
||
|
CategoryCode: "NEWS",
|
||
|
URL: "https://repubblica.it/",
|
||
|
CountryCode: "IT",
|
||
|
}, {
|
||
|
CategoryCode: "FILE",
|
||
|
URL: "https://addons.mozilla.org/",
|
||
|
CountryCode: "XX",
|
||
|
}}
|
||
|
output := preventMistakes(input, []string{"NEWS", "FILE"})
|
||
|
if diff := cmp.Diff(desired, output); diff != "" {
|
||
|
t.Fatal(diff)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestPreventMistakesWithoutCategoriesAndNil(t *testing.T) {
|
||
|
input := []model.URLInfo{{
|
||
|
CategoryCode: "NEWS",
|
||
|
URL: "https://repubblica.it/",
|
||
|
CountryCode: "IT",
|
||
|
}, {
|
||
|
CategoryCode: "HACK",
|
||
|
URL: "https://2600.com",
|
||
|
CountryCode: "XX",
|
||
|
}, {
|
||
|
CategoryCode: "FILE",
|
||
|
URL: "https://addons.mozilla.org/",
|
||
|
CountryCode: "XX",
|
||
|
}}
|
||
|
output := preventMistakes(input, nil)
|
||
|
if diff := cmp.Diff(input, output); diff != "" {
|
||
|
t.Fatal(diff)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func TestPreventMistakesWithoutCategoriesAndEmpty(t *testing.T) {
|
||
|
input := []model.URLInfo{{
|
||
|
CategoryCode: "NEWS",
|
||
|
URL: "https://repubblica.it/",
|
||
|
CountryCode: "IT",
|
||
|
}, {
|
||
|
CategoryCode: "HACK",
|
||
|
URL: "https://2600.com",
|
||
|
CountryCode: "XX",
|
||
|
}, {
|
||
|
CategoryCode: "FILE",
|
||
|
URL: "https://addons.mozilla.org/",
|
||
|
CountryCode: "XX",
|
||
|
}}
|
||
|
output := preventMistakes(input, []string{})
|
||
|
if diff := cmp.Diff(input, output); diff != "" {
|
||
|
t.Fatal(diff)
|
||
|
}
|
||
|
}
|