github.com/turbot/steampipe@v1.7.0-rc.0.0.20240517123944-7cef272d4458/pkg/ociinstaller/versionfile/db_version_file_test.go (about)

     1  package versionfile
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  	"time"
     7  )
     8  
     9  func TestWriteDatabaseVersionFile(t *testing.T) {
    10  
    11  	var v DatabaseVersionFile
    12  
    13  	fileName := "test.json"
    14  	timeNow := time.Now()
    15  
    16  	v.EmbeddedDB.Version = "0.0.1"
    17  	v.EmbeddedDB.Name = "embeddedDb"
    18  	v.EmbeddedDB.ImageDigest = "111111111111"
    19  	v.EmbeddedDB.InstalledFrom = "hub.steampipe.io/core/embedded-postgres:latest"
    20  	v.EmbeddedDB.LastCheckedDate = timeNow.Format(time.UnixDate)
    21  	v.EmbeddedDB.InstallDate = timeNow.Format(time.UnixDate)
    22  
    23  	timeNow2 := timeNow.Add(time.Minute * 10)
    24  
    25  	v.FdwExtension.Version = "1.0.1"
    26  	v.FdwExtension.Name = "fdwExtension"
    27  	v.FdwExtension.ImageDigest = "2222222222"
    28  	v.FdwExtension.InstalledFrom = "hub.steampipe.io/core/hub-extension:latest"
    29  	v.FdwExtension.LastCheckedDate = timeNow2.Format(time.UnixDate)
    30  	v.FdwExtension.InstallDate = timeNow2.Format(time.UnixDate)
    31  
    32  	if err := v.write(fileName); err != nil {
    33  		t.Errorf("\nError writing file: %s", err.Error())
    34  	}
    35  
    36  	v2, err := readDatabaseVersionFile(fileName)
    37  	if err != nil {
    38  		t.Errorf("\nError reading file: %s", err.Error())
    39  	}
    40  
    41  	if v2.EmbeddedDB.Version != v.EmbeddedDB.Version {
    42  		t.Errorf("\nError EmbeddedDB.Version is: %s, expected %s", v2.EmbeddedDB.Version, v.EmbeddedDB.Version)
    43  	}
    44  	if v2.EmbeddedDB.Name != v.EmbeddedDB.Name {
    45  		t.Errorf("\nError EmbeddedDB.Name is: %s, expected %s", v2.EmbeddedDB.Name, v.EmbeddedDB.Name)
    46  	}
    47  	if v2.EmbeddedDB.ImageDigest != v.EmbeddedDB.ImageDigest {
    48  		t.Errorf("\nError EmbeddedDB.ImageDigest is: %s, expected %s", v2.EmbeddedDB.ImageDigest, v.EmbeddedDB.ImageDigest)
    49  	}
    50  	if v2.EmbeddedDB.InstalledFrom != v.EmbeddedDB.InstalledFrom {
    51  		t.Errorf("\nError EmbeddedDB.InstalledFrom is: %s, expected %s", v2.EmbeddedDB.InstalledFrom, v.EmbeddedDB.InstalledFrom)
    52  	}
    53  	if v2.EmbeddedDB.LastCheckedDate != v.EmbeddedDB.LastCheckedDate {
    54  		t.Errorf("\nError EmbeddedDB.LastCheckedDate is: %s, expected %s", v2.EmbeddedDB.LastCheckedDate, v.EmbeddedDB.LastCheckedDate)
    55  	}
    56  	if v2.EmbeddedDB.InstallDate != v.EmbeddedDB.InstallDate {
    57  		t.Errorf("\nError EmbeddedDB.InstallDate is: %s, expected %s", v2.EmbeddedDB.InstallDate, v.EmbeddedDB.InstallDate)
    58  	}
    59  
    60  	os.Remove(fileName)
    61  }