github.com/anchore/syft@v1.38.2/syft/source/scope_test.go (about)

     1  package source
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestParseScope(t *testing.T) {
    10  	tests := []struct {
    11  		name string
    12  		want Scope
    13  	}{
    14  		// go cases
    15  		{
    16  			name: "squashed",
    17  			want: SquashedScope,
    18  		},
    19  		{
    20  			name: "all-layers",
    21  			want: AllLayersScope,
    22  		},
    23  
    24  		{
    25  			name: "deep-squashed",
    26  			want: DeepSquashedScope,
    27  		},
    28  		// fall back to unknown
    29  		{
    30  			name: "make-believe",
    31  			want: UnknownScope,
    32  		},
    33  		{
    34  			name: "",
    35  			want: UnknownScope,
    36  		},
    37  		{
    38  			name: " ",
    39  			want: UnknownScope,
    40  		},
    41  		// to support the original value
    42  
    43  		{
    44  			name: "Squashed",
    45  			want: SquashedScope,
    46  		},
    47  		{
    48  			name: "AllLayers",
    49  			want: AllLayersScope,
    50  		},
    51  		// case insensitive
    52  		{
    53  			name: "alLlaYerS",
    54  			want: AllLayersScope,
    55  		},
    56  		// aliases
    57  		{
    58  			name: "all",
    59  			want: AllLayersScope,
    60  		},
    61  		{
    62  			name: "deep-squash",
    63  			want: DeepSquashedScope,
    64  		},
    65  		{
    66  			name: "deepsquashed",
    67  			want: DeepSquashedScope,
    68  		},
    69  		{
    70  			name: "squasheddeep",
    71  			want: DeepSquashedScope,
    72  		},
    73  		{
    74  			name: "squashed-deep",
    75  			want: DeepSquashedScope,
    76  		},
    77  		{
    78  			name: "deepsquash",
    79  			want: DeepSquashedScope,
    80  		},
    81  	}
    82  	for _, tt := range tests {
    83  		t.Run(tt.name, func(t *testing.T) {
    84  			assert.Equal(t, tt.want, ParseScope(tt.name))
    85  		})
    86  	}
    87  }