Skip to content

Commit

Permalink
update test
Browse files Browse the repository at this point in the history
  • Loading branch information
Uk1288 committed Jul 18, 2022
1 parent a8e68ec commit 357e7af
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 12 deletions.
12 changes: 9 additions & 3 deletions helper_test.go
Expand Up @@ -878,7 +878,7 @@ func createPlanExport(t *testing.T, client *Client, r *Run) (*PlanExport, func()
}
}

func createRegistryModule(t *testing.T, client *Client, org *Organization) (*RegistryModule, func()) {
func createRegistryModule(t *testing.T, client *Client, org *Organization, registryName RegistryName) (*RegistryModule, func()) {
var orgCleanup func()

if org == nil {
Expand All @@ -888,9 +888,15 @@ func createRegistryModule(t *testing.T, client *Client, org *Organization) (*Reg
ctx := context.Background()

options := RegistryModuleCreateOptions{
Name: String(randomString(t)),
Provider: String("provider"),
Name: String(randomString(t)),
Provider: String("provider"),
RegistryName: registryName,
}

if registryName == PublicRegistry {
options.Namespace = "namespace"
}

rm, err := client.RegistryModules.Create(ctx, org.Name, options)
if err != nil {
t.Fatal(err)
Expand Down
57 changes: 48 additions & 9 deletions registry_module_integration_test.go
Expand Up @@ -25,9 +25,9 @@ func TestRegistryModulesList(t *testing.T) {
orgTest, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()

registryModuleTest1, registryModuleTest1Cleanup := createRegistryModule(t, client, orgTest)
registryModuleTest1, registryModuleTest1Cleanup := createRegistryModule(t, client, orgTest, PrivateRegistry)
defer registryModuleTest1Cleanup()
registryModuleTest2, registryModuleTest2Cleanup := createRegistryModule(t, client, orgTest)
registryModuleTest2, registryModuleTest2Cleanup := createRegistryModule(t, client, orgTest, PrivateRegistry)
defer registryModuleTest2Cleanup()

t.Run("with no list options", func(t *testing.T) {
Expand Down Expand Up @@ -234,7 +234,7 @@ func TestRegistryModulesCreateVersion(t *testing.T) {
orgTest, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()

registryModuleTest, registryModuleTestCleanup := createRegistryModule(t, client, orgTest)
registryModuleTest, registryModuleTestCleanup := createRegistryModule(t, client, orgTest, PrivateRegistry)
defer registryModuleTestCleanup()

t.Run("with valid options", func(t *testing.T) {
Expand Down Expand Up @@ -472,9 +472,12 @@ func TestRegistryModulesRead(t *testing.T) {
orgTest, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()

registryModuleTest, registryModuleTestCleanup := createRegistryModule(t, client, orgTest)
registryModuleTest, registryModuleTestCleanup := createRegistryModule(t, client, orgTest, PrivateRegistry)
defer registryModuleTestCleanup()

publicRegistryModuleTest, publicRegistryModuleTestCleanup := createRegistryModule(t, client, orgTest, PublicRegistry)
defer publicRegistryModuleTestCleanup()

t.Run("with valid name and provider", func(t *testing.T) {
rm, err := client.RegistryModules.Read(ctx, RegistryModuleID{
Organization: orgTest.Name,
Expand All @@ -496,7 +499,7 @@ func TestRegistryModulesRead(t *testing.T) {
})
})

t.Run("with complete registry module ID fields", func(t *testing.T) {
t.Run("with complete registry module ID fields for private module", func(t *testing.T) {
rm, err := client.RegistryModules.Read(ctx, RegistryModuleID{
Organization: orgTest.Name,
Name: registryModuleTest.Name,
Expand All @@ -521,6 +524,31 @@ func TestRegistryModulesRead(t *testing.T) {
})
})

t.Run("with complete registry module ID fields for public module", func(t *testing.T) {
rm, err := client.RegistryModules.Read(ctx, RegistryModuleID{
Organization: orgTest.Name,
Name: publicRegistryModuleTest.Name,
Provider: publicRegistryModuleTest.Provider,
Namespace: publicRegistryModuleTest.Namespace,
RegistryName: PublicRegistry,
})
require.NoError(t, err)
require.NotEmpty(t, rm)
assert.Equal(t, publicRegistryModuleTest.ID, rm.ID)

t.Run("permissions are properly decoded", func(t *testing.T) {
require.NotEmpty(t, rm.Permissions)
assert.True(t, rm.Permissions.CanDelete)
assert.True(t, rm.Permissions.CanResync)
assert.True(t, rm.Permissions.CanRetry)
})

t.Run("timestamps are properly decoded", func(t *testing.T) {
assert.NotEmpty(t, rm.CreatedAt)
assert.NotEmpty(t, rm.UpdatedAt)
})
})

t.Run("without a name", func(t *testing.T) {
rm, err := client.RegistryModules.Read(ctx, RegistryModuleID{
Organization: orgTest.Name,
Expand Down Expand Up @@ -583,6 +611,17 @@ func TestRegistryModulesRead(t *testing.T) {
assert.EqualError(t, err, ErrInvalidOrg.Error())
})

t.Run("without a valid namespace for public registry module", func(t *testing.T) {
rm, err := client.RegistryModules.Read(ctx, RegistryModuleID{
Organization: orgTest.Name,
Name: publicRegistryModuleTest.Name,
Provider: publicRegistryModuleTest.Provider,
RegistryName: PublicRegistry,
})
assert.Nil(t, rm)
assert.EqualError(t, err, ErrRequiredNamespace.Error())
})

t.Run("when the registry module does not exist", func(t *testing.T) {
rm, err := client.RegistryModules.Read(ctx, RegistryModuleID{
Organization: orgTest.Name,
Expand All @@ -601,7 +640,7 @@ func TestRegistryModulesDelete(t *testing.T) {
orgTest, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()

registryModuleTest, _ := createRegistryModule(t, client, orgTest)
registryModuleTest, _ := createRegistryModule(t, client, orgTest, PrivateRegistry)

t.Run("with valid name", func(t *testing.T) {
err := client.RegistryModules.Delete(ctx, orgTest.Name, registryModuleTest.Name)
Expand Down Expand Up @@ -645,7 +684,7 @@ func TestRegistryModulesDeleteProvider(t *testing.T) {
orgTest, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()

registryModuleTest, _ := createRegistryModule(t, client, orgTest)
registryModuleTest, _ := createRegistryModule(t, client, orgTest, PrivateRegistry)

t.Run("with valid name and provider", func(t *testing.T) {
err := client.RegistryModules.DeleteProvider(ctx, RegistryModuleID{
Expand Down Expand Up @@ -850,7 +889,7 @@ func TestRegistryModulesUpload(t *testing.T) {
orgTest, orgTestCleanup := createOrganization(t, client)
defer orgTestCleanup()

rm, _ := createRegistryModule(t, client, orgTest)
rm, _ := createRegistryModule(t, client, orgTest, PrivateRegistry)

optionsModuleVersion := RegistryModuleCreateVersionOptions{
Version: String("1.0.0"),
Expand Down Expand Up @@ -952,7 +991,7 @@ func TestRegistryModule_Unmarshal(t *testing.T) {
assert.Equal(t, rm.VersionStatuses[0].Error, "no error")
}

func TestRegistryCreateOptions_Marshal(t *testing.T) {
func TestRegistryCreateWithVCSOptions_Marshal(t *testing.T) {
// https://www.terraform.io/docs/cloud/api/modules.html#sample-payload
opts := RegistryModuleCreateWithVCSConnectionOptions{
VCSRepo: &RegistryModuleVCSRepoOptions{
Expand Down

0 comments on commit 357e7af

Please sign in to comment.