Skip to content

Commit 73df4c3

Browse files
authored
chore(ci): provisioning should not hand-roll SQL escapes (#2949)
### Proposed Changes * provisioning should not hand-roll SQL escapes * provisiong and db client interface should have better context handling rather than using background contexts ### Checklist - [ ] I have added or updated unit tests - [ ] I have added or updated integration tests (if appropriate) - [ ] I have added or updated documentation ### Testing Instructions
1 parent c0a06e6 commit 73df4c3

17 files changed

+264
-263
lines changed

service/cmd/provisionFixtures.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package cmd
22

33
import (
4-
"context"
54
"fmt"
65

76
"github.com/opentdf/platform/service/internal/fixtures"
@@ -36,6 +35,7 @@ to run this command in a clean database. This command is intended for local deve
3635
** Teardown or Issues **
3736
You can clear/recycle your database with 'docker compose down' and 'docker compose up' to start fresh.`,
3837
Run: func(cmd *cobra.Command, _ []string) {
38+
ctx := cmd.Context()
3939
configFile, _ := cmd.Flags().GetString(configFileFlag)
4040
configKey, _ := cmd.Flags().GetString(configKeyFlag)
4141
legacyLoader, err := config.NewLegacyLoader(configKey, configFile)
@@ -47,15 +47,15 @@ You can clear/recycle your database with 'docker compose down' and 'docker compo
4747
panic(fmt.Errorf("could not load config: %w", err))
4848
}
4949
cfg, err := config.Load(
50-
cmd.Context(),
50+
ctx,
5151
legacyLoader,
5252
defaultSettingsLoader,
5353
)
5454
if err != nil {
5555
panic(fmt.Errorf("could not load config: %w", err))
5656
}
5757

58-
dbClient, err := db.New(context.Background(), cfg.DB, cfg.Logger, nil)
58+
dbClient, err := db.New(ctx, cfg.DB, cfg.Logger, nil)
5959
if err != nil {
6060
panic(fmt.Errorf("issue creating database client: %w", err))
6161
}
@@ -64,10 +64,10 @@ You can clear/recycle your database with 'docker compose down' and 'docker compo
6464
// update the schema
6565
cfg.DB.Schema += "_policy"
6666

67-
dbI := fixtures.NewDBInterface(*cfg)
67+
dbI := fixtures.NewDBInterface(ctx, *cfg)
6868
f := fixtures.NewFixture(dbI)
6969
fixtures.LoadFixtureData("./service/internal/fixtures/policy_fixtures.yaml")
70-
f.Provision()
70+
f.Provision(ctx)
7171

7272
cmd.Print("fixtures provision fully applied\n")
7373
},

service/integration/actions_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ func (s *ActionsSuite) SetupSuite() {
2828
c := *Config
2929

3030
c.DB.Schema = "test_opentdf_actions"
31-
s.db = fixtures.NewDBInterface(c)
31+
s.db = fixtures.NewDBInterface(s.ctx, c)
3232
s.f = fixtures.NewFixture(s.db)
33-
s.f.Provision()
33+
s.f.Provision(s.ctx)
3434
}
3535

3636
func (s *ActionsSuite) TearDownSuite() {
3737
slog.Info("tearing down db.Actions test suite")
38-
s.f.TearDown()
38+
s.f.TearDown(s.ctx)
3939
}
4040

4141
func (s *ActionsSuite) Test_ListActions_NoPagination_Succeeds() {

service/integration/attribute_fqns_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,14 @@ func (s *AttributeFqnSuite) SetupSuite() {
5454
s.ctx = context.Background()
5555
c := *Config
5656
c.DB.Schema = "test_opentdf_attribute_fqn"
57-
s.db = fixtures.NewDBInterface(c)
57+
s.db = fixtures.NewDBInterface(s.ctx, c)
5858
s.f = fixtures.NewFixture(s.db)
59-
s.f.Provision()
59+
s.f.Provision(s.ctx)
6060
}
6161

6262
func (s *AttributeFqnSuite) TearDownSuite() {
6363
slog.Info("tearing down db.AttributeFqn test suite")
64-
s.f.TearDown()
64+
s.f.TearDown(s.ctx)
6565
}
6666

6767
// Test Create Namespace

service/integration/attribute_values_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ func (s *AttributeValuesSuite) SetupSuite() {
3838
fixtureKeyAccessServerID = s.f.GetKasRegistryKey("key_access_server_1").ID
3939
c := *Config
4040
c.DB.Schema = "test_opentdf_attribute_values"
41-
s.db = fixtures.NewDBInterface(c)
41+
s.db = fixtures.NewDBInterface(s.ctx, c)
4242
s.f = fixtures.NewFixture(s.db)
43-
s.f.Provision()
43+
s.f.Provision(s.ctx)
4444
stillActiveNsID, stillActiveAttributeID, deactivatedAttrValueID = setupDeactivateAttributeValue(s)
4545
}
4646

@@ -65,7 +65,7 @@ func (s *AttributeValuesSuite) TearDownTest() {
6565

6666
func (s *AttributeValuesSuite) TearDownSuite() {
6767
slog.Info("tearing down db.AttributeValues test suite")
68-
s.f.TearDown()
68+
s.f.TearDown(s.ctx)
6969
}
7070

7171
func (s *AttributeValuesSuite) Test_ListAttributeValues_WithAttributeID_Succeeds() {

service/integration/attributes_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,15 @@ func (s *AttributesSuite) SetupSuite() {
4242
fixtureKeyAccessServerID = s.f.GetKasRegistryKey("key_access_server_1").ID
4343
c := *Config
4444
c.DB.Schema = "test_opentdf_attribute_definitions"
45-
s.db = fixtures.NewDBInterface(c)
45+
s.db = fixtures.NewDBInterface(s.ctx, c)
4646
s.f = fixtures.NewFixture(s.db)
47-
s.f.Provision()
47+
s.f.Provision(s.ctx)
4848
stillActiveNsID, deactivatedAttrID, deactivatedAttrValueID = setupCascadeDeactivateAttribute(s)
4949
}
5050

5151
func (s *AttributesSuite) TearDownSuite() {
5252
slog.Info("tearing down db.Attributes test suite")
53-
s.f.TearDown()
53+
s.f.TearDown(s.ctx)
5454
}
5555

5656
func (s *AttributesSuite) Test_CreateAttribute_NoMetadataSucceeds() {

service/integration/kas_registry_key_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,16 @@ func (s *KasRegistryKeySuite) SetupSuite() {
5151
s.ctx = context.Background()
5252
c := *Config
5353
c.DB.Schema = "test_opentdf_kas_keys"
54-
s.db = fixtures.NewDBInterface(c)
54+
s.db = fixtures.NewDBInterface(s.ctx, c)
5555
s.f = fixtures.NewFixture(s.db)
56-
s.f.Provision()
56+
s.f.Provision(s.ctx)
5757
s.kasFixtures = s.getKasRegistryFixtures()
5858
s.kasKeys = s.getKasRegistryServerKeysFixtures()
5959
}
6060

6161
func (s *KasRegistryKeySuite) TearDownSuite() {
6262
slog.Info("tearing down db.KasKeys test suite")
63-
s.f.TearDown()
63+
s.f.TearDown(s.ctx)
6464
}
6565

6666
func TestKasRegistryKeysSuite(t *testing.T) {

service/integration/kas_registry_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,14 @@ func (s *KasRegistrySuite) SetupSuite() {
3232
s.ctx = context.Background()
3333
c := *Config
3434
c.DB.Schema = "test_opentdf_kas_registry"
35-
s.db = fixtures.NewDBInterface(c)
35+
s.db = fixtures.NewDBInterface(s.ctx, c)
3636
s.f = fixtures.NewFixture(s.db)
37-
s.f.Provision()
37+
s.f.Provision(s.ctx)
3838
}
3939

4040
func (s *KasRegistrySuite) TearDownSuite() {
4141
slog.Info("tearing down db.KasRegistry test suite")
42-
s.f.TearDown()
42+
s.f.TearDown(s.ctx)
4343
}
4444

4545
func (s *KasRegistrySuite) Test_ListKeyAccessServers_NoPagination_Succeeds() {

service/integration/keymanagement_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@ func (s *KeyManagementSuite) SetupSuite() {
4141
s.ctx = context.Background()
4242
c := *Config
4343
c.DB.Schema = "test_opentdf_provider_config"
44-
s.db = fixtures.NewDBInterface(c)
44+
s.db = fixtures.NewDBInterface(s.ctx, c)
4545
s.f = fixtures.NewFixture(s.db)
46-
s.f.Provision()
46+
s.f.Provision(s.ctx)
4747
}
4848

4949
func (s *KeyManagementSuite) SetupTest() {
@@ -52,7 +52,7 @@ func (s *KeyManagementSuite) SetupTest() {
5252

5353
func (s *KeyManagementSuite) TearDownSuite() {
5454
slog.Info("tearing down db.KeyManagement test suite")
55-
s.f.TearDown()
55+
s.f.TearDown(s.ctx)
5656
}
5757

5858
func (s *KeyManagementSuite) Test_CreateProviderConfig_NoMetada_Succeeds() {

service/integration/namespaces_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,15 +41,15 @@ func (s *NamespacesSuite) SetupSuite() {
4141
s.ctx = context.Background()
4242
c := *Config
4343
c.DB.Schema = "test_opentdf_namespaces"
44-
s.db = fixtures.NewDBInterface(c)
44+
s.db = fixtures.NewDBInterface(s.ctx, c)
4545
s.f = fixtures.NewFixture(s.db)
46-
s.f.Provision()
46+
s.f.Provision(s.ctx)
4747
deactivatedNsID, deactivatedAttrID, deactivatedAttrValueID = setupCascadeDeactivateNamespace(s)
4848
}
4949

5050
func (s *NamespacesSuite) TearDownSuite() {
5151
slog.Info("tearing down db.Namespaces test suite")
52-
s.f.TearDown()
52+
s.f.TearDown(s.ctx)
5353
}
5454

5555
func (s *NamespacesSuite) Test_CreateNamespace() {

service/integration/obligation_triggers_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ func (s *ObligationTriggersSuite) SetupSuite() {
5959
s.ctx = context.Background()
6060
c := *Config
6161
c.DB.Schema = "test_opentdf_obligation_triggers"
62-
s.db = fixtures.NewDBInterface(c)
62+
s.db = fixtures.NewDBInterface(s.ctx, c)
6363
s.f = fixtures.NewFixture(s.db)
64-
s.f.Provision()
64+
s.f.Provision(s.ctx)
6565

6666
var err error
6767

0 commit comments

Comments
 (0)