blob: 401742a3812f06b58e1daff521e8d57f246b23b4 [file] [log] [blame]
package installer
import (
"io/ioutil"
"os"
"testing"
)
func TestIsCachedClosed(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(false); 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, open, 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)
}
if open != false {
t.Errorf("Unexpected cache result: want :%v, got: %v", false, open)
}
})
}
}
func TestIsCachedOpen(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(true); 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, open, 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)
}
if open != true {
t.Errorf("Unexpected cache result: want :%v, got: %v", false, open)
}
})
}
}