Skip to content

Commit

Permalink
Fix old test
Browse files Browse the repository at this point in the history
  • Loading branch information
HuyPhanNguyen committed Jul 24, 2024
1 parent c4799f2 commit 83ca17f
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 1 deletion.
1 change: 0 additions & 1 deletion octopusdeploy/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ func Provider() *schema.Provider {
"octopusdeploy_offline_package_drop_deployment_target": resourceOfflinePackageDropDeploymentTarget(),
"octopusdeploy_polling_tentacle_deployment_target": resourcePollingTentacleDeploymentTarget(),
"octopusdeploy_polling_subscription_id": resourcePollingSubscriptionId(),
"octopusdeploy_project": resourceProject(),
"octopusdeploy_project_deployment_target_trigger": resourceProjectDeploymentTargetTrigger(),
"octopusdeploy_external_feed_create_release_trigger": resourceExternalFeedCreateReleaseTrigger(),
"octopusdeploy_project_scheduled_trigger": resourceProjectScheduledTrigger(),
Expand Down
45 changes: 45 additions & 0 deletions octopusdeploy/resource_channel_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -433,3 +433,48 @@ func TestProjectChannelResource(t *testing.T) {
t.Fatal("The environment lookup did not succeed. Lookup value was \"" + lookup + "\" while the resource value was \"" + resource.ID + "\".")
}
}

type ProjectTestOptions struct {
AllowDeploymentsToNoTargets bool
LifecycleLocalName string
LocalName string
Name string
ProjectGroupLocalName string
}

func NewProjectTestOptions(projectGroupLocalName string, lifecycleLocalName string) *ProjectTestOptions {
return &ProjectTestOptions{
LifecycleLocalName: lifecycleLocalName,
LocalName: acctest.RandStringFromCharSet(20, acctest.CharSetAlpha),
Name: acctest.RandStringFromCharSet(20, acctest.CharSetAlpha),
ProjectGroupLocalName: projectGroupLocalName,
}
}

func testAccProjectWithOptions(opt *ProjectTestOptions) string {

return fmt.Sprintf(`resource "octopusdeploy_project" "%s" {
allow_deployments_to_no_targets = %v
lifecycle_id = octopusdeploy_lifecycle.%s.id
name = "%s"
project_group_id = octopusdeploy_project_group.%s.id
}`, opt.LocalName, opt.AllowDeploymentsToNoTargets, opt.LifecycleLocalName, opt.Name, opt.ProjectGroupLocalName)
}

func testAccProjectWithTemplate(localName string, name string, lifecycleLocalName string, projectGroupLocalName string) string {
return fmt.Sprintf(`resource "octopusdeploy_project" "%s" {
lifecycle_id = octopusdeploy_lifecycle.%s.id
name = "%s"
project_group_id = octopusdeploy_project_group.%s.id
template {
name = "project variable template name"
label = "project variable template label"
display_settings = {
"Octopus.ControlType" = "Sensitive"
}
}
}`, localName, lifecycleLocalName, name, projectGroupLocalName)

}
81 changes: 81 additions & 0 deletions octopusdeploy/resource_deployment_process_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"fmt"
"github.com/OctopusDeploy/go-octopusdeploy/v2/pkg/projects"
"github.com/OctopusDeploy/go-octopusdeploy/v2/pkg/workerpools"
internaltest "github.com/OctopusDeploy/terraform-provider-octopusdeploy/internal/test"
"github.com/OctopusSolutionsEngineering/OctopusTerraformTestFramework/octoclient"
"github.com/OctopusSolutionsEngineering/OctopusTerraformTestFramework/test"
"strings"
Expand Down Expand Up @@ -523,3 +524,83 @@ func TestTerraformApplyStepWithWorkerPool(t *testing.T) {
t.Fatalf("Action must use the worker pool \"Docker\"")
}
}

func testAccProjectCheckDestroy(s *terraform.State) error {
for _, rs := range s.RootModule().Resources {
if rs.Type != "octopusdeploy_project" {
continue
}

if project, err := octoClient.Projects.GetByID(rs.Primary.ID); err == nil {
return fmt.Errorf("project (%s) still exists", project.GetID())
}
}

return nil
}

func testAccProjectCheckExists() resource.TestCheckFunc {
return func(s *terraform.State) error {

for _, r := range s.RootModule().Resources {
if r.Type == "octopusdeploy_project" {
if _, err := octoClient.Projects.GetByID(r.Primary.ID); err != nil {
return fmt.Errorf("error retrieving project with ID %s: %s", r.Primary.ID, err)
}
}
}
return nil
}
}

func testAccProjectBasic(lifecycleLocalName string, lifecycleName string, projectGroupLocalName string, projectGroupName string, localName string, name string, description string) string {
projectGroup := internaltest.NewProjectGroupTestOptions()
projectGroup.LocalName = projectGroupLocalName
projectGroup.Resource.Name = projectGroupName

return fmt.Sprintf(testAccLifecycle(lifecycleLocalName, lifecycleName)+"\n"+
internaltest.ProjectGroupConfiguration(projectGroup)+"\n"+
`resource "octopusdeploy_project" "%s" {
description = "%s"
lifecycle_id = octopusdeploy_lifecycle.%s.id
name = "%s"
project_group_id = octopusdeploy_project_group.%s.id
template {
default_value = "default-value"
help_text = "help-test"
label = "label"
name = "2"
display_settings = {
"Octopus.ControlType": "SingleLineText"
}
}
template {
default_value = "default-value"
help_text = "help-test"
label = "label"
name = "1"
display_settings = {
"Octopus.ControlType": "SingleLineText"
}
}
// connectivity_policy {
// allow_deployments_to_no_targets = true
// skip_machine_behavior = "None"
// }
// version_control_settings {
// default_branch = "foo"
// url = "https://example.com/"
// username = "bar"
// }
// versioning_strategy {
// template = "alskdjaslkdj"
// }
}`, localName, description, lifecycleLocalName, name, projectGroupLocalName)
}
1 change: 1 addition & 0 deletions octopusdeploy_framework/framework_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ func (p *octopusDeployFrameworkProvider) Resources(ctx context.Context) []func()
NewGitHubRepositoryFeedResource,
NewAwsElasticContainerRegistryFeedResource,
NewNugetFeedResource,
NewProjectResource,
}
}

Expand Down

0 comments on commit 83ca17f

Please sign in to comment.