github.com/anchore/syft@v1.4.2-0.20240516191711-1bec1fc5d397/syft/pkg/cataloger/java/cataloger_test.go (about)

     1  package java
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/anchore/syft/syft/cataloging"
     7  	"github.com/anchore/syft/syft/pkg/cataloger/internal/pkgtest"
     8  )
     9  
    10  func Test_ArchiveCataloger_Globs(t *testing.T) {
    11  	tests := []struct {
    12  		name     string
    13  		fixture  string
    14  		expected []string
    15  	}{
    16  		{
    17  			name:    "obtain java archive files",
    18  			fixture: "test-fixtures/glob-paths",
    19  			expected: []string{
    20  				"java-archives/example.jar",
    21  				"java-archives/example.war",
    22  				"java-archives/example.ear",
    23  				"java-archives/example.par",
    24  				"java-archives/example.sar",
    25  				"java-archives/example.nar",
    26  				"java-archives/example.jpi",
    27  				"java-archives/example.hpi",
    28  				"java-archives/example.lpkg",
    29  				"archives/example.zip",
    30  				"archives/example.tar",
    31  				"archives/example.tar.gz",
    32  				"archives/example.tgz",
    33  				"archives/example.tar.bz",
    34  				"archives/example.tar.bz2",
    35  				"archives/example.tbz",
    36  				"archives/example.tbz2",
    37  				"archives/example.tar.br",
    38  				"archives/example.tbr",
    39  				"archives/example.tar.lz4",
    40  				"archives/example.tlz4",
    41  				"archives/example.tar.sz",
    42  				"archives/example.tsz",
    43  				"archives/example.tar.xz",
    44  				"archives/example.txz",
    45  				"archives/example.tar.zst",
    46  				"archives/example.tzst",
    47  				"archives/example.tar.zstd",
    48  				"archives/example.tzstd",
    49  			},
    50  		},
    51  	}
    52  
    53  	for _, test := range tests {
    54  		t.Run(test.name, func(t *testing.T) {
    55  			pkgtest.NewCatalogTester().
    56  				FromDirectory(t, test.fixture).
    57  				ExpectsResolverContentQueries(test.expected).
    58  				TestCataloger(t,
    59  					NewArchiveCataloger(
    60  						ArchiveCatalogerConfig{
    61  							ArchiveSearchConfig: cataloging.ArchiveSearchConfig{
    62  								IncludeIndexedArchives:   true,
    63  								IncludeUnindexedArchives: true,
    64  							},
    65  						},
    66  					),
    67  				)
    68  		})
    69  	}
    70  }
    71  
    72  func Test_POMCataloger_Globs(t *testing.T) {
    73  	tests := []struct {
    74  		name     string
    75  		fixture  string
    76  		expected []string
    77  	}{
    78  		{
    79  			name:    "obtain java pom files",
    80  			fixture: "test-fixtures/glob-paths",
    81  			expected: []string{
    82  				"src/pom.xml",
    83  			},
    84  		},
    85  	}
    86  
    87  	for _, test := range tests {
    88  		t.Run(test.name, func(t *testing.T) {
    89  			pkgtest.NewCatalogTester().
    90  				FromDirectory(t, test.fixture).
    91  				ExpectsResolverContentQueries(test.expected).
    92  				TestCataloger(t,
    93  					NewPomCataloger(
    94  						ArchiveCatalogerConfig{
    95  							ArchiveSearchConfig: cataloging.ArchiveSearchConfig{
    96  								IncludeIndexedArchives:   true,
    97  								IncludeUnindexedArchives: true,
    98  							},
    99  						},
   100  					))
   101  		})
   102  	}
   103  }