| 313 | } |
| 314 | |
| 315 | func TestTokenInvalidation(t *testing.T) { |
| 316 | oldval := TokenTTL |
| 317 | defer func() { |
| 318 | TokenTTL = oldval |
| 319 | }() |
| 320 | |
| 321 | TokenTTL = time.Millisecond * 500 |
| 322 | TokenLeeway = 0 |
| 323 | |
| 324 | testName := "mathworker6" |
| 325 | testVersion := "1.1.1" |
| 326 | m := kite.New(testName, testVersion) |
| 327 | m.Config = conf.Config.Copy() |
| 328 | m.Config.Port = 6666 |
| 329 | defer m.Close() |
| 330 | |
| 331 | kiteURL := &url.URL{Scheme: "http", Host: "localhost:6666", Path: "/mathworker6"} |
| 332 | _, err := m.Register(kiteURL) |
| 333 | if err != nil { |
| 334 | t.Error(err) |
| 335 | } |
| 336 | |
| 337 | oldToken, err := m.GetToken(m.Kite()) |
| 338 | if err != nil { |
| 339 | t.Error(err) |
| 340 | } |
| 341 | |
| 342 | token, err := m.GetTokenForce(m.Kite()) |
| 343 | if err != nil { |
| 344 | t.Error(err) |
| 345 | } |
| 346 | |
| 347 | if oldToken == token { |
| 348 | t.Errorf("want %q != %q", oldToken, token) |
| 349 | } |
| 350 | |
| 351 | time.Sleep(time.Millisecond * 700) |
| 352 | |
| 353 | token2, err := m.GetToken(m.Kite()) |
| 354 | if err != nil { |
| 355 | t.Error(err) |
| 356 | } |
| 357 | |
| 358 | if token == token2 { |
| 359 | t.Error("token invalidation doesn't work") |
| 360 | } |
| 361 | |
| 362 | TokenTTL = time.Second * 4 |
| 363 | |
| 364 | token3, err := m.GetToken(m.Kite()) |
| 365 | if err != nil { |
| 366 | t.Error(err) |
| 367 | } |
| 368 | |
| 369 | token4, err := m.GetToken(m.Kite()) |
| 370 | if err != nil { |
| 371 | t.Error(err) |
| 372 | } |