blob: 24768dc1e07f0c3426daefa527c2ebc35e3a3f81 [file] [log] [blame]
package installer
import (
"io/ioutil"
"os"
"testing"
)
func TestIsCached(t *testing.T) {
testDir, err := ioutil.TempDir("", "testing")
if err != nil {
t.Fatalf("Failed to create tempdir: %v", err)
}
defer os.RemoveAll(testDir)
cacher := NewCacher(testDir, "12688.0.0", "418.67")
if err := cacher.Cache(); err != nil {
t.Fatalf("Failed to cache: %v", err)
}
for _, tc := range []struct {
testName string
buildNumber string
driverVersion string
expectOut bool
}{
{"TestIsCachedTrue", "12688.0.0", "418.67", true},
{"TestIsCachedWrongBuild", "12670.0.0", "418.67", false},
{"TestIsCachedWrongDriver", "12688.0.0", "418.00", false},
} {
t.Run(tc.testName, func(t *testing.T) {
testCacher := NewCacher(testDir, tc.buildNumber, tc.driverVersion)
out, err := testCacher.IsCached()
if err != nil {
t.Fatalf("Failed to check cache result: %v", err)
}
if out != tc.expectOut {
t.Errorf("Unexpected cache result: want :%v, got: %v", tc.expectOut, out)
}
})
}
}