From f4699ea0babe66581770582c3d2642bc4ba448dc Mon Sep 17 00:00:00 2001 From: Denis Makogon Date: Thu, 21 Sep 2017 02:25:36 +0300 Subject: [PATCH] Adding API tests that verifies recently changed code bevaviour --- api/datastore/sql/sql.go | 4 +++- test/fn-api-tests/apps_api.go | 3 +++ test/fn-api-tests/apps_test.go | 14 ++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/api/datastore/sql/sql.go b/api/datastore/sql/sql.go index 90416ea4e..f79b64fc7 100644 --- a/api/datastore/sql/sql.go +++ b/api/datastore/sql/sql.go @@ -223,11 +223,13 @@ func (ds *sqlStore) UpdateApp(ctx context.Context, newapp *models.App) (*models. func (ds *sqlStore) RemoveApp(ctx context.Context, appName string) error { return ds.Tx(func(tx *sqlx.Tx) error { res, err := tx.ExecContext(ctx, tx.Rebind(`DELETE FROM apps WHERE name=?`), appName) + if err != nil { + return err + } n, err := res.RowsAffected() if err != nil { return err } - if n == 0 { return models.ErrAppsNotFound } diff --git a/test/fn-api-tests/apps_api.go b/test/fn-api-tests/apps_api.go index 6145ea34e..cbfeffe15 100644 --- a/test/fn-api-tests/apps_api.go +++ b/test/fn-api-tests/apps_api.go @@ -14,6 +14,9 @@ import ( func CheckAppResponseError(t *testing.T, e error) { if e != nil { switch err := e.(type) { + case *apps.DeleteAppsAppNotFound: + t.Errorf("Unexpected error occurred: %v Original Location: %s", err.Payload.Error.Message, MyCaller()) + t.FailNow() case *apps.DeleteAppsAppDefault: t.Errorf("Unexpected error occurred: %v. Status code: %v Orig Location: %s", err.Payload.Error.Message, err.Code(), MyCaller()) t.FailNow() diff --git a/test/fn-api-tests/apps_test.go b/test/fn-api-tests/apps_test.go index c898d0862..fd0192fa1 100644 --- a/test/fn-api-tests/apps_test.go +++ b/test/fn-api-tests/apps_test.go @@ -11,6 +11,20 @@ import ( func TestApps(t *testing.T) { + t.Run("delete-app-not-found-test", func(t *testing.T) { + t.Parallel() + s := SetupDefaultSuite() + cfg := &apps.DeleteAppsAppParams{ + App: "missing-app", + Context: s.Context, + } + cfg.WithTimeout(time.Second * 60) + _, err := s.Client.Apps.DeleteAppsApp(cfg) + if err == nil { + t.Errorf("Error during app delete: we should get HTTP 404, but got: %s", err.Error()) + } + }) + t.Run("app-not-found-test", func(t *testing.T) { t.Parallel() s := SetupDefaultSuite()