// Test for expired key and see if RefreshLogin can restore the key if we have a bad key func TestSessionExpiredKey(t *testing.T) { var ( c *icsp.ICSPClient d *ICSPTest ) if os.Getenv("ONEVIEW_TEST_ACCEPTANCE") == "true" { d, c = getTestDriverA() if c == nil { t.Fatalf("Failed to execute getTestDriver() ") } err := c.RefreshLogin() log.Debugf(" login key -> %s", c.APIKey) assert.NoError(t, err, "RefreshLogin threw error -> %s", err) // force key to timeout err = c.SetIdleTimeout(800) assert.NoError(t, err, "SetIdleTimeout threw error -> %s", err) // 1 millisecond and we should be timeout with the current key time.Sleep(1 * time.Millisecond) // verify we are timed out _, err = c.GetIdleTimeout() assert.Error(t, err, "should be 404 not found -> %s ", err) // verify that we can access something from icps with this client // This should not fail because it uses RefreshLogin to get a new login session and avoid timeout serialNumber := d.Tc.GetTestData(d.Env, "SerialNumber").(string) s, err := c.GetServerBySerialNumber(serialNumber) assert.NoError(t, err, "GetServerBySerialNumber threw error -> %s, server -> %+v", err, s) } }
// Set idle timeout func TestSetIdleTimeout(t *testing.T) { var ( c *icsp.ICSPClient // d *ICSPTest testtime int64 ) if os.Getenv("ONEVIEW_TEST_ACCEPTANCE") == "true" { testtime = 25000 _, c = getTestDriverA() if c == nil { t.Fatalf("Failed to execute getTestDriver() ") } err := c.RefreshLogin() log.Debugf(" login key -> %s", c.APIKey) assert.NoError(t, err, "RefreshLogin threw error -> %s", err) err = c.SetIdleTimeout(testtime) assert.NoError(t, err, "SetIdleTimeout threw error -> %s", err) timeout, err := c.GetIdleTimeout() assert.NoError(t, err, "GetIdleTimeout threw error -> %s", err) assert.Equal(t, testtime, timeout, "Should get timeout equal, %s", timeout) log.Debugf(" idle timeout -> %d", timeout) } }