1// Copyright (C) 2019 Storj Labs, Inc. 2// See LICENSE for copying information. 3 4package trust_test 5 6import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 11 "storj.io/storj/storagenode/trust" 12) 13 14func TestRulesIsTrusted(t *testing.T) { 15 16 url := makeSatelliteURL("domain.test") 17 18 // default is trusted when there are no rules 19 var rules trust.Rules 20 assert.True(t, rules.IsTrusted(url)) 21 22 rules = trust.Rules{fakeRule(true)} 23 assert.True(t, rules.IsTrusted(url)) 24 25 rules = trust.Rules{fakeRule(false)} 26 assert.False(t, rules.IsTrusted(url)) 27 28 rules = trust.Rules{fakeRule(true), fakeRule(false), fakeRule(true)} 29 assert.False(t, rules.IsTrusted(url)) 30} 31 32type fakeRule bool 33 34func (rule fakeRule) IsTrusted(url trust.SatelliteURL) bool { 35 return bool(rule) 36} 37 38func (rule fakeRule) String() string { 39 return "fake" 40} 41