github.com/devseccon/trivy@v0.47.1-0.20231123133102-bd902a0bd996/pkg/version/version_test.go (about)

     1  package version
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  
     9  	"github.com/aquasecurity/trivy-db/pkg/metadata"
    10  	"github.com/devseccon/trivy/pkg/policy"
    11  )
    12  
    13  func Test_BuildVersionInfo(t *testing.T) {
    14  
    15  	expected := VersionInfo{
    16  		Version: "dev",
    17  		VulnerabilityDB: &metadata.Metadata{
    18  			Version:      2,
    19  			NextUpdate:   time.Date(2023, 7, 20, 18, 11, 37, 696263532, time.UTC),
    20  			UpdatedAt:    time.Date(2023, 7, 20, 12, 11, 37, 696263932, time.UTC),
    21  			DownloadedAt: time.Date(2023, 7, 25, 7, 1, 41, 239158000, time.UTC),
    22  		},
    23  		JavaDB: &metadata.Metadata{
    24  			Version:      1,
    25  			NextUpdate:   time.Date(2023, 7, 28, 1, 3, 52, 169192565, time.UTC),
    26  			UpdatedAt:    time.Date(2023, 7, 25, 1, 3, 52, 169192765, time.UTC),
    27  			DownloadedAt: time.Date(2023, 7, 25, 9, 37, 48, 906152000, time.UTC),
    28  		},
    29  		PolicyBundle: &policy.Metadata{
    30  			Digest:       "sha256:829832357626da2677955e3b427191212978ba20012b6eaa03229ca28569ae43",
    31  			DownloadedAt: time.Date(2023, 7, 23, 16, 40, 33, 122462000, time.UTC),
    32  		},
    33  	}
    34  	assert.Equal(t, expected, NewVersionInfo("testdata/testcache"))
    35  }
    36  
    37  func Test_VersionInfoString(t *testing.T) {
    38  	expected := `Version: dev
    39  Vulnerability DB:
    40    Version: 2
    41    UpdatedAt: 2023-07-20 12:11:37.696263932 +0000 UTC
    42    NextUpdate: 2023-07-20 18:11:37.696263532 +0000 UTC
    43    DownloadedAt: 2023-07-25 07:01:41.239158 +0000 UTC
    44  Java DB:
    45    Version: 1
    46    UpdatedAt: 2023-07-25 01:03:52.169192765 +0000 UTC
    47    NextUpdate: 2023-07-28 01:03:52.169192565 +0000 UTC
    48    DownloadedAt: 2023-07-25 09:37:48.906152 +0000 UTC
    49  Policy Bundle:
    50    Digest: sha256:829832357626da2677955e3b427191212978ba20012b6eaa03229ca28569ae43
    51    DownloadedAt: 2023-07-23 16:40:33.122462 +0000 UTC
    52  `
    53  	versionInfo := NewVersionInfo("testdata/testcache")
    54  	assert.Equal(t, expected, versionInfo.String())
    55  }