github.com/crowdsecurity/crowdsec@v1.6.1/pkg/cwhub/item_test.go (about)

     1  package cwhub
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  )
     8  
     9  func TestItemStatus(t *testing.T) {
    10  	hub := envSetup(t)
    11  
    12  	// get existing map
    13  	x := hub.GetItemMap(COLLECTIONS)
    14  	require.NotEmpty(t, x)
    15  
    16  	// Get item: good and bad
    17  	for k := range x {
    18  		item := hub.GetItem(COLLECTIONS, k)
    19  		require.NotNil(t, item)
    20  
    21  		item.State.Installed = true
    22  		item.State.UpToDate = false
    23  		item.State.Tainted = false
    24  		item.State.Downloaded = true
    25  
    26  		txt := item.State.Text()
    27  		require.Equal(t, "enabled,update-available", txt)
    28  
    29  		item.State.Installed = true
    30  		item.State.UpToDate = false
    31  		item.State.Tainted = false
    32  		item.State.Downloaded = false
    33  
    34  		txt = item.State.Text()
    35  		require.Equal(t, "enabled,local", txt)
    36  	}
    37  
    38  	stats := hub.ItemStats()
    39  	require.Equal(t, []string{
    40  		"Loaded: 2 parsers, 1 scenarios, 3 collections",
    41  		"Unmanaged items: 3 local, 0 tainted",
    42  	}, stats)
    43  }
    44  
    45  func TestGetters(t *testing.T) {
    46  	hub := envSetup(t)
    47  
    48  	// get non existing map
    49  	empty := hub.GetItemMap("ratata")
    50  	require.Nil(t, empty)
    51  
    52  	// get existing map
    53  	x := hub.GetItemMap(COLLECTIONS)
    54  	require.NotEmpty(t, x)
    55  
    56  	// Get item: good and bad
    57  	for k := range x {
    58  		empty := hub.GetItem(COLLECTIONS, k+"nope")
    59  		require.Nil(t, empty)
    60  
    61  		item := hub.GetItem(COLLECTIONS, k)
    62  		require.NotNil(t, item)
    63  
    64  		// Add item and get it
    65  		item.Name += "nope"
    66  		hub.addItem(item)
    67  
    68  		newitem := hub.GetItem(COLLECTIONS, item.Name)
    69  		require.NotNil(t, newitem)
    70  	}
    71  }