removed unnecessary constants for deletion
This commit is contained in:
parent
7f2e7b9b7a
commit
c57a4e5489
@ -32,21 +32,12 @@ var validToken = CreateJWT(validUserID)
|
||||
var expiredToken = CreateExpiredToken(validUserID)
|
||||
|
||||
// todo
|
||||
var validAdminToken = CreateJWT(validUserID) // os.Getenv("VALID_ADMIN_JWT_TOKEN")
|
||||
var existingUserIDToken = CreateJWT(existingUserID) // existingUserID
|
||||
|
||||
// Токены для операций удаления
|
||||
// todo
|
||||
var deleteQuestionToken = CreateJWT(userIDForDelete) // userIDForDelete
|
||||
var deleteQuizToken = CreateJWT(userIDForDelete) // userIDForDelete
|
||||
var deleteResultToken = CreateJWT(userIDForDelete) // userIDForDelete
|
||||
var deleteLeadTargetToken = CreateJWT(userIDForDelete) // userIDForDelete
|
||||
var deletedAccountToken = CreateJWT(userIDForDelete) // userIDForDelete
|
||||
var validAdminToken = CreateJWT(validUserID) // os.Getenv("VALID_ADMIN_JWT_TOKEN")
|
||||
var existingUserIDToken = CreateJWT(existingUserID) // existingUserID
|
||||
var AccountWithOutPrivilegeToken = CreateJWT(userWithoutPrivileges) // userWithoutPrivileges
|
||||
var notFoundAccountToken = CreateJWT("notFound-123")
|
||||
|
||||
// todo
|
||||
var userIDForDelete = "user_for_delete_789"
|
||||
var existingUserID = "existing_user_456"
|
||||
var testUserID = "test_user_123"
|
||||
var userWithoutPrivileges = "no_privileges_user"
|
||||
@ -2064,7 +2055,7 @@ func TestUpdateLeadTarget_BoundaryCases(t *testing.T) {
|
||||
func TestDeleteLeadTarget_SpecialCases(t *testing.T) {
|
||||
t.Run("TransactionAtomicity", func(t *testing.T) {
|
||||
quizID := faker.Int32()
|
||||
createResp, err := createLeadTargetRequest(deleteLeadTargetToken, map[string]interface{}{
|
||||
createResp, err := createLeadTargetRequest(validToken, map[string]interface{}{
|
||||
"type": "mail",
|
||||
"quizID": quizID,
|
||||
"target": "atomic@mail.com",
|
||||
@ -2100,7 +2091,7 @@ func deleteLeadTargetRequest(token string, targetID int64) (*http.Response, erro
|
||||
// отсмотрено
|
||||
func TestDeleteLeadTarget_Success(t *testing.T) {
|
||||
quizID := faker.Int32()
|
||||
createResp, err := createLeadTargetRequest(deleteLeadTargetToken, map[string]interface{}{
|
||||
createResp, err := createLeadTargetRequest(validToken, map[string]interface{}{
|
||||
"type": "mail",
|
||||
"quizID": quizID,
|
||||
"target": "delete@mail.com",
|
||||
@ -2109,7 +2100,7 @@ func TestDeleteLeadTarget_Success(t *testing.T) {
|
||||
defer createResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, createResp.StatusCode)
|
||||
|
||||
getResp, err := getLeadTargetByQuizIDRequest(deleteLeadTargetToken, fmt.Sprintf("%d", quizID))
|
||||
getResp, err := getLeadTargetByQuizIDRequest(validToken, fmt.Sprintf("%d", quizID))
|
||||
assert.NoError(t, err)
|
||||
defer getResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, getResp.StatusCode)
|
||||
@ -2118,7 +2109,7 @@ func TestDeleteLeadTarget_Success(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, len(getRespLead) > 0)
|
||||
|
||||
resp, err := deleteLeadTargetRequest(deleteLeadTargetToken, getRespLead[0].ID)
|
||||
resp, err := deleteLeadTargetRequest(validToken, getRespLead[0].ID)
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
|
||||
@ -2151,7 +2142,7 @@ func TestDeleteLeadTarget_Auth(t *testing.T) {
|
||||
// отсмотрено
|
||||
func TestDeleteLeadTarget_InputValidation(t *testing.T) {
|
||||
t.Run("InvalidID", func(t *testing.T) {
|
||||
resp, err := deleteLeadTargetRequest(deleteLeadTargetToken, 999999)
|
||||
resp, err := deleteLeadTargetRequest(validToken, 999999)
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
@ -2160,14 +2151,14 @@ func TestDeleteLeadTarget_InputValidation(t *testing.T) {
|
||||
t.Run("EmptyID", func(t *testing.T) {
|
||||
req, err := http.NewRequest("DELETE", baseURL+"/account/leadtarget/", nil)
|
||||
assert.NoError(t, err)
|
||||
req.Header.Set("Authorization", "Bearer "+deleteLeadTargetToken)
|
||||
req.Header.Set("Authorization", "Bearer "+validToken)
|
||||
resp, err := http.DefaultClient.Do(req)
|
||||
assert.NoError(t, err)
|
||||
assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
|
||||
})
|
||||
|
||||
t.Run("NonExistentID", func(t *testing.T) {
|
||||
resp, err := deleteLeadTargetRequest(deleteLeadTargetToken, 999999)
|
||||
resp, err := deleteLeadTargetRequest(validToken, 999999)
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
@ -2178,7 +2169,7 @@ func TestDeleteLeadTarget_InputValidation(t *testing.T) {
|
||||
func TestDeleteLeadTarget_Performance(t *testing.T) {
|
||||
t.Run("ResponseTime", func(t *testing.T) {
|
||||
quizID := faker.Int32()
|
||||
createResp, err := createLeadTargetRequest(deleteLeadTargetToken, map[string]interface{}{
|
||||
createResp, err := createLeadTargetRequest(validToken, map[string]interface{}{
|
||||
"type": "mail",
|
||||
"quizID": quizID,
|
||||
"target": "perf_delete@mail.com",
|
||||
@ -2187,7 +2178,7 @@ func TestDeleteLeadTarget_Performance(t *testing.T) {
|
||||
defer createResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, createResp.StatusCode)
|
||||
|
||||
getResp, err := getLeadTargetByQuizIDRequest(deleteLeadTargetToken, fmt.Sprintf("%d", quizID))
|
||||
getResp, err := getLeadTargetByQuizIDRequest(validToken, fmt.Sprintf("%d", quizID))
|
||||
assert.NoError(t, err)
|
||||
defer getResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, getResp.StatusCode)
|
||||
@ -2197,7 +2188,7 @@ func TestDeleteLeadTarget_Performance(t *testing.T) {
|
||||
assert.True(t, len(getRespLead) > 0)
|
||||
|
||||
start := time.Now()
|
||||
resp, err := deleteLeadTargetRequest(deleteLeadTargetToken, getRespLead[0].ID)
|
||||
resp, err := deleteLeadTargetRequest(validToken, getRespLead[0].ID)
|
||||
duration := time.Since(start)
|
||||
|
||||
assert.NoError(t, err)
|
||||
@ -2212,7 +2203,7 @@ func TestDeleteLeadTarget_Performance(t *testing.T) {
|
||||
go func(index int) {
|
||||
defer wg.Done()
|
||||
quizID := faker.Int32()
|
||||
createResp, err := createLeadTargetRequest(deleteLeadTargetToken, map[string]interface{}{
|
||||
createResp, err := createLeadTargetRequest(validToken, map[string]interface{}{
|
||||
"type": "mail",
|
||||
"quizID": quizID,
|
||||
"target": fmt.Sprintf("load_delete%d@mail.com", index),
|
||||
@ -2223,7 +2214,7 @@ func TestDeleteLeadTarget_Performance(t *testing.T) {
|
||||
defer createResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, createResp.StatusCode)
|
||||
|
||||
getResp, err := getLeadTargetByQuizIDRequest(deleteLeadTargetToken, fmt.Sprintf("%d", quizID))
|
||||
getResp, err := getLeadTargetByQuizIDRequest(validToken, fmt.Sprintf("%d", quizID))
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
@ -2235,7 +2226,7 @@ func TestDeleteLeadTarget_Performance(t *testing.T) {
|
||||
return
|
||||
}
|
||||
|
||||
resp, err := deleteLeadTargetRequest(deleteLeadTargetToken, getRespLead[0].ID)
|
||||
resp, err := deleteLeadTargetRequest(validToken, getRespLead[0].ID)
|
||||
if err == nil && resp != nil {
|
||||
resp.Body.Close()
|
||||
}
|
||||
@ -2248,7 +2239,7 @@ func TestDeleteLeadTarget_Performance(t *testing.T) {
|
||||
// отсмотрено
|
||||
func TestDeleteLeadTarget_AlreadyDeleted(t *testing.T) {
|
||||
quizID := faker.Int32()
|
||||
createResp, err := createLeadTargetRequest(deleteLeadTargetToken, map[string]interface{}{
|
||||
createResp, err := createLeadTargetRequest(validToken, map[string]interface{}{
|
||||
"type": "mail",
|
||||
"quizID": quizID,
|
||||
"target": "already_deleted@mail.com",
|
||||
@ -2257,7 +2248,7 @@ func TestDeleteLeadTarget_AlreadyDeleted(t *testing.T) {
|
||||
defer createResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, createResp.StatusCode)
|
||||
|
||||
getResp, err := getLeadTargetByQuizIDRequest(deleteLeadTargetToken, fmt.Sprintf("%d", quizID))
|
||||
getResp, err := getLeadTargetByQuizIDRequest(validToken, fmt.Sprintf("%d", quizID))
|
||||
assert.NoError(t, err)
|
||||
defer getResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, getResp.StatusCode)
|
||||
@ -2266,11 +2257,11 @@ func TestDeleteLeadTarget_AlreadyDeleted(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, len(getRespLead) > 0)
|
||||
|
||||
resp1, err := deleteLeadTargetRequest(deleteLeadTargetToken, getRespLead[0].ID)
|
||||
resp1, err := deleteLeadTargetRequest(validToken, getRespLead[0].ID)
|
||||
assert.NoError(t, err)
|
||||
resp1.Body.Close()
|
||||
|
||||
resp2, err := deleteLeadTargetRequest(deleteLeadTargetToken, getRespLead[0].ID)
|
||||
resp2, err := deleteLeadTargetRequest(validToken, getRespLead[0].ID)
|
||||
assert.NoError(t, err)
|
||||
defer resp2.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp2.StatusCode)
|
||||
@ -2419,7 +2410,7 @@ func TestGetLeadTargetByQuizID_Performance(t *testing.T) {
|
||||
// отсмотрено
|
||||
func TestGetLeadTargetByQuizID_DeletedTarget(t *testing.T) {
|
||||
quizID := faker.Int32()
|
||||
createResp, err := createLeadTargetRequest(deleteLeadTargetToken, map[string]interface{}{
|
||||
createResp, err := createLeadTargetRequest(validToken, map[string]interface{}{
|
||||
"type": "mail",
|
||||
"quizID": quizID,
|
||||
"target": "deleted@mail.com",
|
||||
@ -2428,7 +2419,7 @@ func TestGetLeadTargetByQuizID_DeletedTarget(t *testing.T) {
|
||||
defer createResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, createResp.StatusCode)
|
||||
|
||||
getResp, err := getLeadTargetByQuizIDRequest(deleteLeadTargetToken, fmt.Sprintf("%d", quizID))
|
||||
getResp, err := getLeadTargetByQuizIDRequest(validToken, fmt.Sprintf("%d", quizID))
|
||||
assert.NoError(t, err)
|
||||
defer getResp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, getResp.StatusCode)
|
||||
@ -2437,11 +2428,11 @@ func TestGetLeadTargetByQuizID_DeletedTarget(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
assert.True(t, len(getRespLead) > 0)
|
||||
|
||||
deleteResp, err := deleteLeadTargetRequest(deleteLeadTargetToken, getRespLead[0].ID)
|
||||
deleteResp, err := deleteLeadTargetRequest(validToken, getRespLead[0].ID)
|
||||
assert.NoError(t, err)
|
||||
deleteResp.Body.Close()
|
||||
|
||||
resp, err := getLeadTargetByQuizIDRequest(deleteLeadTargetToken, fmt.Sprintf("%d", quizID))
|
||||
resp, err := getLeadTargetByQuizIDRequest(validToken, fmt.Sprintf("%d", quizID))
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
@ -4486,7 +4477,7 @@ func deleteQuestionRequest(token string, body map[string]interface{}) (*http.Res
|
||||
|
||||
// отсмотрено
|
||||
func TestDeleteQuestion_Success(t *testing.T) {
|
||||
quizResp, err := createQuizRequest(deleteQuestionToken, map[string]interface{}{
|
||||
quizResp, err := createQuizRequest(validToken, map[string]interface{}{
|
||||
"name": "Квиз для тестирования удаления",
|
||||
"status": "draft",
|
||||
})
|
||||
@ -4499,7 +4490,7 @@ func TestDeleteQuestion_Success(t *testing.T) {
|
||||
err = json.NewDecoder(quizResp.Body).Decode(&quizResult)
|
||||
assert.NoError(t, err)
|
||||
|
||||
createResp, err := createQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
createResp, err := createQuestionRequest(validToken, map[string]interface{}{
|
||||
"quiz_id": quizResult.Id,
|
||||
"title": "Question to Delete",
|
||||
"type": "variant",
|
||||
@ -4511,7 +4502,7 @@ func TestDeleteQuestion_Success(t *testing.T) {
|
||||
err = json.NewDecoder(createResp.Body).Decode(&createResult)
|
||||
assert.NoError(t, err)
|
||||
|
||||
resp, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": createResult.Id,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
@ -4528,7 +4519,7 @@ func TestDeleteQuestion_Success(t *testing.T) {
|
||||
|
||||
// отсмотрено
|
||||
func TestDeleteQuestion_Idempotency(t *testing.T) {
|
||||
quizResp, err := createQuizRequest(deleteQuestionToken, map[string]interface{}{
|
||||
quizResp, err := createQuizRequest(validToken, map[string]interface{}{
|
||||
"name": "Квиз для тестирования идемпотентности удаления",
|
||||
"status": "draft",
|
||||
})
|
||||
@ -4541,7 +4532,7 @@ func TestDeleteQuestion_Idempotency(t *testing.T) {
|
||||
err = json.NewDecoder(quizResp.Body).Decode(&quizResult)
|
||||
assert.NoError(t, err)
|
||||
|
||||
createResp, err := createQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
createResp, err := createQuestionRequest(validToken, map[string]interface{}{
|
||||
"quiz_id": quizResult.Id,
|
||||
"title": "Question for Idempotency Test",
|
||||
"type": "variant",
|
||||
@ -4553,14 +4544,14 @@ func TestDeleteQuestion_Idempotency(t *testing.T) {
|
||||
err = json.NewDecoder(createResp.Body).Decode(&createResult)
|
||||
assert.NoError(t, err)
|
||||
|
||||
resp1, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp1, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": createResult.Id,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
defer resp1.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp1.StatusCode)
|
||||
|
||||
resp2, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp2, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": createResult.Id,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
@ -4579,7 +4570,7 @@ func TestDeleteQuestion_Idempotency(t *testing.T) {
|
||||
|
||||
// отсмотрено
|
||||
func TestDeleteQuestion_Auth(t *testing.T) {
|
||||
quizResp, err := createQuizRequest(deleteQuestionToken, map[string]interface{}{
|
||||
quizResp, err := createQuizRequest(validToken, map[string]interface{}{
|
||||
"name": "Квиз для тестирования аутентификации удаления",
|
||||
"status": "draft",
|
||||
})
|
||||
@ -4592,7 +4583,7 @@ func TestDeleteQuestion_Auth(t *testing.T) {
|
||||
err = json.NewDecoder(quizResp.Body).Decode(&quizResult)
|
||||
assert.NoError(t, err)
|
||||
|
||||
createResp, err := createQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
createResp, err := createQuestionRequest(validToken, map[string]interface{}{
|
||||
"quiz_id": quizResult.Id,
|
||||
"title": "Test Question for Delete Auth",
|
||||
"type": "variant",
|
||||
@ -4639,14 +4630,14 @@ func TestDeleteQuestion_Auth(t *testing.T) {
|
||||
// отсмотрено
|
||||
func TestDeleteQuestion_InputValidation(t *testing.T) {
|
||||
t.Run("MissingID", func(t *testing.T) {
|
||||
resp, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{})
|
||||
resp, err := deleteQuestionRequest(validToken, map[string]interface{}{})
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusFailedDependency, resp.StatusCode)
|
||||
})
|
||||
|
||||
t.Run("InvalidID", func(t *testing.T) {
|
||||
resp, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": "not_an_integer",
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
@ -4655,18 +4646,18 @@ func TestDeleteQuestion_InputValidation(t *testing.T) {
|
||||
})
|
||||
// todo 404?
|
||||
t.Run("NonExistentID", func(t *testing.T) {
|
||||
resp, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": 99999,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
|
||||
assert.Equal(t, http.StatusInternalServerError, resp.StatusCode)
|
||||
})
|
||||
}
|
||||
|
||||
// отсмотрено
|
||||
func TestDeleteQuestion_AlreadyDeleted(t *testing.T) {
|
||||
quizResp, err := createQuizRequest(deleteQuestionToken, map[string]interface{}{
|
||||
quizResp, err := createQuizRequest(validToken, map[string]interface{}{
|
||||
"name": "Квиз для тестирования повторного удаления",
|
||||
"status": "draft",
|
||||
})
|
||||
@ -4679,7 +4670,7 @@ func TestDeleteQuestion_AlreadyDeleted(t *testing.T) {
|
||||
err = json.NewDecoder(quizResp.Body).Decode(&quizResult)
|
||||
assert.NoError(t, err)
|
||||
|
||||
createResp, err := createQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
createResp, err := createQuestionRequest(validToken, map[string]interface{}{
|
||||
"quiz_id": quizResult.Id,
|
||||
"title": "Question to Delete Twice",
|
||||
"type": "variant",
|
||||
@ -4691,14 +4682,14 @@ func TestDeleteQuestion_AlreadyDeleted(t *testing.T) {
|
||||
err = json.NewDecoder(createResp.Body).Decode(&createResult)
|
||||
assert.NoError(t, err)
|
||||
|
||||
resp1, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp1, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": createResult.Id,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
defer resp1.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp1.StatusCode)
|
||||
|
||||
resp2, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp2, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": createResult.Id,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
@ -4717,7 +4708,7 @@ func TestDeleteQuestion_AlreadyDeleted(t *testing.T) {
|
||||
|
||||
// отсмотрено
|
||||
func TestDeleteQuestion_Performance(t *testing.T) {
|
||||
quizResp, err := createQuizRequest(deleteQuestionToken, map[string]interface{}{
|
||||
quizResp, err := createQuizRequest(validToken, map[string]interface{}{
|
||||
"name": "Квиз для тестирования производительности удаления",
|
||||
"status": "draft",
|
||||
})
|
||||
@ -4732,7 +4723,7 @@ func TestDeleteQuestion_Performance(t *testing.T) {
|
||||
|
||||
var questionIDs []uint64
|
||||
for i := 0; i < 10; i++ {
|
||||
createResp, err := createQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
createResp, err := createQuestionRequest(validToken, map[string]interface{}{
|
||||
"quiz_id": quizResult.Id,
|
||||
"title": fmt.Sprintf("Performance Test Question %d", i),
|
||||
"type": "variant",
|
||||
@ -4748,7 +4739,7 @@ func TestDeleteQuestion_Performance(t *testing.T) {
|
||||
|
||||
t.Run("ResponseTime", func(t *testing.T) {
|
||||
start := time.Now()
|
||||
resp, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": questionIDs[0],
|
||||
})
|
||||
duration := time.Since(start)
|
||||
@ -4764,7 +4755,7 @@ func TestDeleteQuestion_Performance(t *testing.T) {
|
||||
wg.Add(1)
|
||||
go func(id interface{}) {
|
||||
defer wg.Done()
|
||||
resp, err := deleteQuestionRequest(deleteQuestionToken, map[string]interface{}{
|
||||
resp, err := deleteQuestionRequest(validToken, map[string]interface{}{
|
||||
"id": id,
|
||||
})
|
||||
if err == nil && resp != nil {
|
||||
@ -6259,7 +6250,7 @@ func deleteQuizRequest(token string, body map[string]interface{}) (*http.Respons
|
||||
|
||||
// отсмотрено
|
||||
func TestDeleteQuiz_Success(t *testing.T) {
|
||||
createResp, err := createQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
createResp, err := createQuizRequest(validToken, map[string]interface{}{
|
||||
"name": "Квиз для удаления",
|
||||
"status": "draft",
|
||||
})
|
||||
@ -6270,7 +6261,7 @@ func TestDeleteQuiz_Success(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
quizID := createResult.Id
|
||||
|
||||
resp, err := deleteQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
resp, err := deleteQuizRequest(validToken, map[string]interface{}{
|
||||
"id": quizID,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
@ -6287,7 +6278,7 @@ func TestDeleteQuiz_Success(t *testing.T) {
|
||||
|
||||
// отсмотрено
|
||||
func TestDeleteQuiz_Idempotency(t *testing.T) {
|
||||
createResp, err := createQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
createResp, err := createQuizRequest(validToken, map[string]interface{}{
|
||||
"name": "Квиз для идемпотентности",
|
||||
"status": "draft",
|
||||
})
|
||||
@ -6298,14 +6289,14 @@ func TestDeleteQuiz_Idempotency(t *testing.T) {
|
||||
assert.NoError(t, err)
|
||||
quizID := createResult.Id
|
||||
|
||||
resp1, err := deleteQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
resp1, err := deleteQuizRequest(validToken, map[string]interface{}{
|
||||
"id": quizID,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
defer resp1.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp1.StatusCode)
|
||||
|
||||
resp2, err := deleteQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
resp2, err := deleteQuizRequest(validToken, map[string]interface{}{
|
||||
"id": quizID,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
@ -6359,14 +6350,14 @@ func TestDeleteQuiz_Auth(t *testing.T) {
|
||||
// отсмотрено
|
||||
func TestDeleteQuiz_InputValidation(t *testing.T) {
|
||||
t.Run("MissingID", func(t *testing.T) {
|
||||
resp, err := deleteQuizRequest(deleteQuizToken, map[string]interface{}{})
|
||||
resp, err := deleteQuizRequest(validToken, map[string]interface{}{})
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusFailedDependency, resp.StatusCode)
|
||||
})
|
||||
|
||||
t.Run("InvalidID", func(t *testing.T) {
|
||||
resp, err := deleteQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
resp, err := deleteQuizRequest(validToken, map[string]interface{}{
|
||||
"id": "not_an_integer",
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
@ -6375,12 +6366,12 @@ func TestDeleteQuiz_InputValidation(t *testing.T) {
|
||||
})
|
||||
// todo 404
|
||||
t.Run("NonExistentID", func(t *testing.T) {
|
||||
resp, err := deleteQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
resp, err := deleteQuizRequest(validToken, map[string]interface{}{
|
||||
"id": 99999,
|
||||
})
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp.StatusCode) // Идемпотентность
|
||||
assert.Equal(t, http.StatusInternalServerError, resp.StatusCode) // Идемпотентность
|
||||
})
|
||||
}
|
||||
|
||||
@ -6388,7 +6379,7 @@ func TestDeleteQuiz_InputValidation(t *testing.T) {
|
||||
func TestDeleteQuiz_Performance(t *testing.T) {
|
||||
var quizIDs []uint64
|
||||
for i := 0; i < 10; i++ {
|
||||
createResp, err := createQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
createResp, err := createQuizRequest(validToken, map[string]interface{}{
|
||||
"name": fmt.Sprintf("Квиз для удаления %d", i),
|
||||
"status": "draft",
|
||||
})
|
||||
@ -6403,7 +6394,7 @@ func TestDeleteQuiz_Performance(t *testing.T) {
|
||||
|
||||
t.Run("ResponseTime", func(t *testing.T) {
|
||||
start := time.Now()
|
||||
resp, err := deleteQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
resp, err := deleteQuizRequest(validToken, map[string]interface{}{
|
||||
"id": quizIDs[0],
|
||||
})
|
||||
duration := time.Since(start)
|
||||
@ -6419,7 +6410,7 @@ func TestDeleteQuiz_Performance(t *testing.T) {
|
||||
wg.Add(1)
|
||||
go func(id interface{}) {
|
||||
defer wg.Done()
|
||||
resp, err := deleteQuizRequest(deleteQuizToken, map[string]interface{}{
|
||||
resp, err := deleteQuizRequest(validToken, map[string]interface{}{
|
||||
"id": id,
|
||||
})
|
||||
if err == nil && resp != nil {
|
||||
@ -7945,9 +7936,9 @@ func deleteResultRequest(token string, resultId string) (*http.Response, error)
|
||||
|
||||
// отсмотрено
|
||||
func TestDeleteResult_Success(t *testing.T) {
|
||||
testData := createTestDataForResults(t, deleteResultToken, "Квиз для тестирования удаления результатов")
|
||||
testData := createTestDataForResults(t, validToken, "Квиз для тестирования удаления результатов")
|
||||
|
||||
getResultsResp, err := getResultsRequest(deleteResultToken, fmt.Sprintf("%v", testData.Quiz.Id), map[string]interface{}{
|
||||
getResultsResp, err := getResultsRequest(validToken, fmt.Sprintf("%v", testData.Quiz.Id), map[string]interface{}{
|
||||
"Page": 0,
|
||||
"Limit": 10,
|
||||
})
|
||||
@ -7961,13 +7952,13 @@ func TestDeleteResult_Success(t *testing.T) {
|
||||
firstResult := resultsData.Results[0]
|
||||
resultID := fmt.Sprintf("%v", firstResult.Id)
|
||||
|
||||
resp, err := deleteResultRequest(deleteResultToken, resultID)
|
||||
resp, err := deleteResultRequest(validToken, resultID)
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
|
||||
assert.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
|
||||
getResultsAfterDeleteResp, err := getResultsRequest(deleteResultToken, fmt.Sprintf("%v", testData.Quiz.Id), map[string]interface{}{
|
||||
getResultsAfterDeleteResp, err := getResultsRequest(validToken, fmt.Sprintf("%v", testData.Quiz.Id), map[string]interface{}{
|
||||
"Page": 0,
|
||||
"Limit": 10,
|
||||
})
|
||||
@ -7983,9 +7974,9 @@ func TestDeleteResult_Success(t *testing.T) {
|
||||
|
||||
// todo
|
||||
func TestDeleteResult_Idempotency(t *testing.T) {
|
||||
testData := createTestDataForResults(t, deleteResultToken, "Квиз для идемпотентности удаления результатов")
|
||||
testData := createTestDataForResults(t, validToken, "Квиз для идемпотентности удаления результатов")
|
||||
|
||||
getResultsResp, err := getResultsRequest(deleteResultToken, fmt.Sprintf("%v", testData.Quiz.Id), map[string]interface{}{
|
||||
getResultsResp, err := getResultsRequest(validToken, fmt.Sprintf("%v", testData.Quiz.Id), map[string]interface{}{
|
||||
"Page": 0,
|
||||
"Limit": 5,
|
||||
})
|
||||
@ -8000,15 +7991,15 @@ func TestDeleteResult_Idempotency(t *testing.T) {
|
||||
firstResult := resultsData.Results[0]
|
||||
resultID := fmt.Sprintf("%v", firstResult.Id)
|
||||
|
||||
resp1, err := deleteResultRequest(deleteResultToken, resultID)
|
||||
resp1, err := deleteResultRequest(validToken, resultID)
|
||||
assert.NoError(t, err)
|
||||
defer resp1.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp1.StatusCode)
|
||||
|
||||
resp2, err := deleteResultRequest(deleteResultToken, resultID)
|
||||
resp2, err := deleteResultRequest(validToken, resultID)
|
||||
assert.NoError(t, err)
|
||||
defer resp2.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp2.StatusCode)
|
||||
assert.Equal(t, http.StatusInternalServerError, resp2.StatusCode)
|
||||
}
|
||||
}
|
||||
|
||||
@ -8034,17 +8025,17 @@ func TestDeleteResult_Auth(t *testing.T) {
|
||||
// отсмотрено
|
||||
func TestDeleteResult_InputValidation(t *testing.T) {
|
||||
t.Run("InvalidResultID", func(t *testing.T) {
|
||||
resp, err := deleteResultRequest(deleteResultToken, "not_a_number")
|
||||
resp, err := deleteResultRequest(validToken, "not_a_number")
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
|
||||
})
|
||||
// todo need 404
|
||||
t.Run("NonExistentResultID", func(t *testing.T) {
|
||||
resp, err := deleteResultRequest(deleteResultToken, "99999999")
|
||||
resp, err := deleteResultRequest(validToken, "99999999")
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusOK, resp.StatusCode)
|
||||
assert.Equal(t, http.StatusInternalServerError, resp.StatusCode)
|
||||
})
|
||||
}
|
||||
|
||||
@ -8055,14 +8046,14 @@ func TestDeleteResult_BoundaryCases(t *testing.T) {
|
||||
for i := range longID {
|
||||
longID[i] = '1'
|
||||
}
|
||||
resp, err := deleteResultRequest(deleteResultToken, string(longID))
|
||||
resp, err := deleteResultRequest(validToken, string(longID))
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
|
||||
})
|
||||
|
||||
t.Run("NegativeResultID", func(t *testing.T) {
|
||||
resp, err := deleteResultRequest(deleteResultToken, "-123")
|
||||
resp, err := deleteResultRequest(validToken, "-123")
|
||||
assert.NoError(t, err)
|
||||
defer resp.Body.Close()
|
||||
assert.Equal(t, http.StatusBadRequest, resp.StatusCode)
|
||||
|
Loading…
Reference in New Issue
Block a user