github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/examples/gno.land/p/demo/gnorkle/agent/whitelist_test.gno (about)

     1  package agent_test
     2  
     3  import (
     4  	"testing"
     5  
     6  	"gno.land/p/demo/gnorkle/agent"
     7  )
     8  
     9  func TestWhitelist(t *testing.T) {
    10  	var whitelist agent.Whitelist
    11  
    12  	if whitelist.HasDefinition() {
    13  		t.Error("whitelist should not be defined initially")
    14  	}
    15  
    16  	whitelist.AddAddresses([]string{"a", "b"})
    17  	if !whitelist.HasAddress("a") {
    18  		t.Error(`whitelist should have address "a"`)
    19  	}
    20  	if !whitelist.HasAddress("b") {
    21  		t.Error(`whitelist should have address "b"`)
    22  	}
    23  
    24  	if !whitelist.HasDefinition() {
    25  		t.Error("whitelist should be defined after adding addresses")
    26  	}
    27  
    28  	whitelist.RemoveAddress("a")
    29  	if whitelist.HasAddress("a") {
    30  		t.Error(`whitelist should not have address "a"`)
    31  	}
    32  	if !whitelist.HasAddress("b") {
    33  		t.Error(`whitelist should still have address "b"`)
    34  	}
    35  
    36  	whitelist.ClearAddresses()
    37  	if whitelist.HasAddress("a") {
    38  		t.Error(`whitelist cleared; should not have address "a"`)
    39  	}
    40  	if whitelist.HasAddress("b") {
    41  		t.Error(`whitelist cleared; should still have address "b"`)
    42  	}
    43  
    44  	if whitelist.HasDefinition() {
    45  		t.Error("whitelist cleared; should not be defined")
    46  	}
    47  }