| 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) | |
| } | |
| }) | |
| } | |
| } |