diff --git a/adapter/backup/backup.go b/adapter/backup/backup.go index 7f2a235..5ead5ef 100644 --- a/adapter/backup/backup.go +++ b/adapter/backup/backup.go @@ -46,7 +46,7 @@ var generatorMutex = sync.Mutex{} func newPostgresAdapterBackupActionTrack(task *PostgresBackupStatus) dao.DatabaseAdapterBaseTrack { var details *dao.DatabasesBackupAdapt = nil - if "Successful" == task.Status { + if task.Status == "Successful" { details = &dao.DatabasesBackupAdapt{ LocalId: task.BackupId, } @@ -275,13 +275,15 @@ func (ba BackupAdapter) getRestoreStatus(ctx context.Context, trackId string) (* return &restoreStatus, true } -func (ba BackupAdapter) EvictBackup(ctx context.Context, backupId string) string { +func (ba BackupAdapter) EvictBackup(ctx context.Context, backupId string) (string, bool) { logger := util.ContextLogger(ctx) response, err := ba.sendRequest(ctx, Post, "/delete/"+backupId, nil) if err != nil { panic(err) } - + if response.Status == http.StatusNotFound { + return "", false + } var deleteResponse PostgresBackupDeleteResponse err = json.Unmarshal(response.Body, &deleteResponse) if err != nil { @@ -298,7 +300,7 @@ func (ba BackupAdapter) EvictBackup(ctx context.Context, backupId string) string } } //todo - return status + return status, true } diff --git a/adapter/backup/backup_test.go b/adapter/backup/backup_test.go index 39319a8..b8f134e 100644 --- a/adapter/backup/backup_test.go +++ b/adapter/backup/backup_test.go @@ -168,7 +168,7 @@ func startTestServer() { } //EVictBackup - EvictBackupPrefix := "/delete/" + EvictBackupPrefix := "/delete/20240105T0836" if strings.HasPrefix(r.URL.Path, EvictBackupPrefix) { trackId := strings.TrimPrefix(r.URL.Path, EvictBackupPrefix) @@ -271,11 +271,6 @@ func TestTrackBackupTest(t *testing.T) { statusRequestBody := PostgresBackupStatus{ BackupId: "20240105T0836", - Status: "Successful", - Databases: map[string]PostgresDatabaseBackupStatus{ - "db1": {Status: "Successful"}, - "db2": {Status: "In progress"}, - }, } backupAdapater := NewServiceAdapter(nil, aggAddress, "", false, "", "", "") @@ -300,7 +295,6 @@ func TestTrackRestoreStatus(t *testing.T) { statusRequestBody := PostgresRestoreStatus{ TrackingId: "20240105T0836", - Status: "SUCCESS", } backupAdapater := NewServiceAdapter(nil, aggAddress, "", false, "", "", "") @@ -325,10 +319,25 @@ func TestEvictBackupStatus(t *testing.T) { backupAdapater := NewServiceAdapter(nil, aggAddress, "", false, "", "", "") - backupStatus := backupAdapater.EvictBackup(context.Background(), "20240105T0836") + backupStatus, isFound := backupAdapater.EvictBackup(context.Background(), "20240105T0836") - fmt.Printf("Backup EVICT NEwStatus: %v\n", backupStatus) + fmt.Printf("Backup EVICT NewStatus: %v\n", backupStatus) assert.Equal(t, backupStatus, "SUCCESS") + assert.Equal(t, true, isFound) + +} + +func TestEvictBackupIdNotFound(t *testing.T) { + + aggAddress := "http://localhost:8080" + + backupAdapater := NewServiceAdapter(nil, aggAddress, "", false, "", "", "") + + backupStatus, isFound := backupAdapater.EvictBackup(context.Background(), "20240105T0833") + + fmt.Printf("Backup EVICT NewStatus: %v\n", backupStatus) + assert.Equal(t, backupStatus, "") + assert.Equal(t, false, isFound) } diff --git a/go.mod b/go.mod index 909a0ce..08af763 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/Netcracker/pgskipper-dbaas-adapter/postgresql-dbaas-adapter go 1.21 require ( - github.com/Netcracker/qubership-dbaas-adapter-core v0.9.4 + github.com/Netcracker/qubership-dbaas-adapter-core v0.9.5 github.com/gofiber/fiber/v2 v2.52.5 github.com/jackc/pgconn v1.14.3 github.com/jackc/pgx/v4 v4.18.2 diff --git a/go.sum b/go.sum index 0a43baf..0a31555 100644 --- a/go.sum +++ b/go.sum @@ -36,8 +36,8 @@ github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/Netcracker/qubership-dbaas-adapter-core v0.9.4 h1:YEigbUpPnfcPBAALwB2+Zu4DTVojmJsbmMhyaS3z6Kc= -github.com/Netcracker/qubership-dbaas-adapter-core v0.9.4/go.mod h1:dEXm/aZmbDHVkkMqmcU901I1akukhL+3y4bPoTWBWFQ= +github.com/Netcracker/qubership-dbaas-adapter-core v0.9.5 h1:fv6sMasCFsQAPggYT38Peh8khCSc8oZOEz5kiVZCzfc= +github.com/Netcracker/qubership-dbaas-adapter-core v0.9.5/go.mod h1:dEXm/aZmbDHVkkMqmcU901I1akukhL+3y4bPoTWBWFQ= github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=