package session

// import (
// 	"crypto/aes"
// 	"testing"
// 	"time"

// 	"github.com/pingcap/dbaas/central/db"
// 	"github.com/pingcap/dbaas/central/db/entity"
// 	"github.com/pingcap/dbaas/central/tenant"
// 	"github.com/pingcap/dbaas/pkg/docker_db"
// 	"github.com/stretchr/testify/assert"
// )

// func TestTokenCheck(t *testing.T) {
// 	assert.Nil(t, docker_db.TryInitCentralDB(tenant.InitTenants))

// 	tenantID := tenant.GetAllTenantIDs()[0]
// 	tenantDB := tenant.GetDB(tenantID)
// 	period := 1 * time.Hour
// 	secretSalt := []byte("1234567890123456")
// 	block, err := aes.NewCipher(secretSalt)
// 	assert.Nil(t, err)
// 	session := NewSession(block, secretSalt)
// 	UTCLocal, err := time.LoadLocation("")
// 	assert.Nil(t, err)
// 	now := time.Now().Truncate(1 * time.Second).In(UTCLocal)
// 	expire := now.Add(period)
// 	inviteUserTokenEntity := entity.InviteUserToken{
// 		Method:     "test_insert_token",
// 		Email:      "a@pingcap.com",
// 		TenantID:   tenantID,
// 		BeginTime:  now,
// 		ExpireTime: expire,
// 		IsOneTime:  true,
// 	}
// 	_, err = db.UpsertInviteUserToken(tenantDB, inviteUserTokenEntity)
// 	assert.Nil(t, err)

// 	token, err := session.EncodeToken("test_insert_token", "a@pingcap.com", tenantID, now)
// 	assert.Nil(t, err)

// 	_, err = session.ValidateInviteUserToken(token, true)
// 	assert.Nil(t, err)

// 	registerTenantTokenEntity := entity.RegisterTenantToken{
// 		Method:     "test_insert_token",
// 		Email:      "a@pingcap.com",
// 		TenantName: "test",
// 		BeginTime:  now,
// 		ExpireTime: expire,
// 		IsOneTime:  true,
// 	}

// 	_, err = db.UpsertRegisterTenantToken(tenant.GetCentralDB(), registerTenantTokenEntity)
// 	assert.Nil(t, err)

// 	token, err = session.EncodeRegisterTenantToken("test_insert_token", "a@pingcap.com", "test", now)
// 	assert.Nil(t, err)

// 	_, err = session.ValidateRegisterTenantToken(token, true)
// 	assert.Nil(t, err)
// }
