Skip to content

Commit ac161b5

Browse files
committed
Refactor: rename resolvedStack variables to stack
Rename all variables of type model.Stack from 'resolvedStack' to 'stack' for improved code readability and consistency. This change affects: - Interface method parameters in Deployer and Differ - Method implementations in AWSDeployer and DefaultDiffer - Test files with mock expectations and variable declarations - Internal helper methods and local variables No functional changes - purely a refactoring to use cleaner, more concise variable names throughout the codebase.
1 parent 07f268d commit ac161b5

File tree

10 files changed

+130
-130
lines changed

10 files changed

+130
-130
lines changed

cmd/deploy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ Examples:
4444
4545
The preview shows the same detailed diff information as 'stackaroo diff' but
4646
automatically proceeds with deployment after displaying the changes.`,
47-
Args: cobra.ExactArgs(1),
47+
Args: cobra.ExactArgs(1),
4848
RunE: func(cmd *cobra.Command, args []string) error {
4949
stackName := args[0]
5050
ctx := context.Background()

cmd/deploy_test.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ type MockDeployer struct {
2626
mock.Mock
2727
}
2828

29-
func (m *MockDeployer) DeployStack(ctx context.Context, resolvedStack *model.Stack) error {
30-
args := m.Called(ctx, resolvedStack)
29+
func (m *MockDeployer) DeployStack(ctx context.Context, stack *model.Stack) error {
30+
args := m.Called(ctx, stack)
3131
return args.Error(0)
3232
}
3333

@@ -110,8 +110,8 @@ stacks:
110110

111111
// Set up mock deployer that returns an error
112112
mockDeployer := &MockDeployer{}
113-
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(resolvedStack *model.Stack) bool {
114-
return resolvedStack.Name == "test-stack"
113+
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(stack *model.Stack) bool {
114+
return stack.Name == "test-stack"
115115
})).Return(errors.New("deployment failed"))
116116

117117
oldDeployer := deployer
@@ -201,12 +201,12 @@ stacks:
201201
mockDeployer := &MockDeployer{}
202202

203203
// Expect specific calls with exact argument matching
204-
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(resolvedStack *model.Stack) bool {
205-
return resolvedStack.Name == "stack-1"
204+
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(stack *model.Stack) bool {
205+
return stack.Name == "stack-1"
206206
})).Return(nil).Once()
207207

208-
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(resolvedStack *model.Stack) bool {
209-
return resolvedStack.Name == "stack-2"
208+
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(stack *model.Stack) bool {
209+
return stack.Name == "stack-2"
210210
})).Return(errors.New("second deployment failed")).Once()
211211

212212
oldDeployer := deployer
@@ -295,11 +295,11 @@ stacks:
295295
// Set up mock deployer that expects config-resolved values
296296
mockDeployer := &MockDeployer{}
297297
// Expect Stack with resolved parameters from dev environment
298-
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(resolvedStack *model.Stack) bool {
299-
return resolvedStack.Name == "vpc" &&
300-
resolvedStack.Parameters["VpcCidr"] == "10.1.0.0/16" &&
301-
strings.Contains(resolvedStack.TemplateBody, "AWSTemplateFormatVersion") &&
302-
strings.Contains(resolvedStack.TemplateBody, "AWS::EC2::VPC")
298+
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(stack *model.Stack) bool {
299+
return stack.Name == "vpc" &&
300+
stack.Parameters["VpcCidr"] == "10.1.0.0/16" &&
301+
strings.Contains(stack.TemplateBody, "AWSTemplateFormatVersion") &&
302+
strings.Contains(stack.TemplateBody, "AWS::EC2::VPC")
303303
})).Return(nil)
304304

305305
oldDeployer := deployer
@@ -382,8 +382,8 @@ stacks:
382382
// This test will fail because current implementation doesn't resolve dependencies
383383
// We expect the resolver to be called and handle the dependency ordering
384384
// For now, just expect app deployment (what current implementation does)
385-
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(resolvedStack *model.Stack) bool {
386-
return resolvedStack.Name == "app" // Current implementation only deploys single stack
385+
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(stack *model.Stack) bool {
386+
return stack.Name == "app" // Current implementation only deploys single stack
387387
})).Return(nil)
388388

389389
oldDeployer := deployer
@@ -459,8 +459,8 @@ stacks:
459459

460460
// Current implementation only deploys the directly requested stack
461461
// Transitive dependency resolution is not yet implemented
462-
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(resolvedStack *model.Stack) bool {
463-
return resolvedStack.Name == "app"
462+
mockDeployer.On("DeployStack", mock.Anything, mock.MatchedBy(func(stack *model.Stack) bool {
463+
return stack.Name == "app"
464464
})).Return(nil).Once()
465465

466466
oldDeployer := deployer

cmd/diff_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ type MockDiffer struct {
2121
mock.Mock
2222
}
2323

24-
func (m *MockDiffer) DiffStack(ctx context.Context, resolvedStack *model.Stack, options diff.Options) (*diff.Result, error) {
25-
args := m.Called(ctx, resolvedStack, options)
24+
func (m *MockDiffer) DiffStack(ctx context.Context, stack *model.Stack, options diff.Options) (*diff.Result, error) {
25+
args := m.Called(ctx, stack, options)
2626
return args.Get(0).(*diff.Result), args.Error(1)
2727
}
2828

internal/config/file/provider.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (fp *Provider) LoadConfig(ctx context.Context, context string) (*config.Con
5050
resolvedContext := fp.resolveContext(context, rawContext)
5151

5252
// Resolve all stacks for this context
53-
resolvedStacks, err := fp.resolveStacks(context)
53+
stacks, err := fp.resolveStacks(context)
5454
if err != nil {
5555
return nil, fmt.Errorf("failed to resolve stacks for context '%s': %w", context, err)
5656
}
@@ -61,7 +61,7 @@ func (fp *Provider) LoadConfig(ctx context.Context, context string) (*config.Con
6161
Region: fp.rawConfig.Region, // Global default
6262
Tags: fp.copyStringMap(fp.rawConfig.Tags),
6363
Context: resolvedContext,
64-
Stacks: resolvedStacks,
64+
Stacks: stacks,
6565
}
6666

6767
return cfg, nil
@@ -101,12 +101,12 @@ func (fp *Provider) GetStack(stackName, context string) (*config.StackConfig, er
101101
}
102102

103103
// Resolve the stack for the given context
104-
resolvedStack, err := fp.resolveStack(rawStack, context)
104+
stack, err := fp.resolveStack(rawStack, context)
105105
if err != nil {
106106
return nil, fmt.Errorf("failed to resolve stack '%s' for context '%s': %w", stackName, context, err)
107107
}
108108

109-
return resolvedStack, nil
109+
return stack, nil
110110
}
111111

112112
// Validate checks the configuration for consistency and errors
@@ -194,11 +194,11 @@ func (fp *Provider) resolveStacks(context string) ([]*config.StackConfig, error)
194194
resolved := make([]*config.StackConfig, 0, len(fp.rawConfig.Stacks))
195195

196196
for _, rawStack := range fp.rawConfig.Stacks {
197-
resolvedStack, err := fp.resolveStack(rawStack, context)
197+
stack, err := fp.resolveStack(rawStack, context)
198198
if err != nil {
199199
return nil, err
200200
}
201-
resolved = append(resolved, resolvedStack)
201+
resolved = append(resolved, stack)
202202
}
203203

204204
return resolved, nil

internal/deploy/deployer.go

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818

1919
// Deployer defines the interface for stack deployment operations
2020
type Deployer interface {
21-
DeployStack(ctx context.Context, resolvedStack *model.Stack) error
21+
DeployStack(ctx context.Context, stack *model.Stack) error
2222
ValidateTemplate(ctx context.Context, templateFile string) error
2323
}
2424

@@ -45,40 +45,40 @@ func NewDefaultDeployer(ctx context.Context) (*AWSDeployer, error) {
4545
}
4646

4747
// DeployStack deploys a CloudFormation stack using changesets for preview and deployment
48-
func (d *AWSDeployer) DeployStack(ctx context.Context, resolvedStack *model.Stack) error {
48+
func (d *AWSDeployer) DeployStack(ctx context.Context, stack *model.Stack) error {
4949
// Get CloudFormation operations
5050
cfnOps := d.awsClient.NewCloudFormationOperations()
5151

5252
// Check if stack exists to determine deployment approach
53-
exists, err := cfnOps.StackExists(ctx, resolvedStack.Name)
53+
exists, err := cfnOps.StackExists(ctx, stack.Name)
5454
if err != nil {
5555
return fmt.Errorf("failed to check if stack exists: %w", err)
5656
}
5757

5858
if !exists {
5959
// For new stacks, use direct creation (changesets are less useful)
60-
return d.deployNewStack(ctx, resolvedStack)
60+
return d.deployNewStack(ctx, stack)
6161
}
6262

6363
// For existing stacks, use changeset approach for preview + deployment
64-
return d.deployWithChangeSet(ctx, resolvedStack)
64+
return d.deployWithChangeSet(ctx, stack)
6565
}
6666

6767
// deployNewStack handles deployment of new stacks using direct creation
68-
func (d *AWSDeployer) deployNewStack(ctx context.Context, resolvedStack *model.Stack) error {
69-
fmt.Printf("=== Creating new stack %s ===\n", resolvedStack.Name)
68+
func (d *AWSDeployer) deployNewStack(ctx context.Context, stack *model.Stack) error {
69+
fmt.Printf("=== Creating new stack %s ===\n", stack.Name)
7070

7171
// Convert parameters to AWS format
72-
awsParams := make([]awsinternal.Parameter, 0, len(resolvedStack.Parameters))
73-
for key, value := range resolvedStack.Parameters {
72+
awsParams := make([]awsinternal.Parameter, 0, len(stack.Parameters))
73+
for key, value := range stack.Parameters {
7474
awsParams = append(awsParams, awsinternal.Parameter{
7575
Key: key,
7676
Value: value,
7777
})
7878
}
7979

8080
// Use capabilities from resolved stack, with default fallback
81-
capabilities := resolvedStack.Capabilities
81+
capabilities := stack.Capabilities
8282
if len(capabilities) == 0 {
8383
capabilities = []string{"CAPABILITY_IAM"} // Default capability
8484
}
@@ -96,10 +96,10 @@ func (d *AWSDeployer) deployNewStack(ctx context.Context, resolvedStack *model.S
9696
}
9797

9898
deployInput := awsinternal.DeployStackInput{
99-
StackName: resolvedStack.Name,
100-
TemplateBody: resolvedStack.TemplateBody,
99+
StackName: stack.Name,
100+
TemplateBody: stack.TemplateBody,
101101
Parameters: awsParams,
102-
Tags: resolvedStack.Tags,
102+
Tags: stack.Tags,
103103
Capabilities: capabilities,
104104
}
105105

@@ -112,58 +112,58 @@ func (d *AWSDeployer) deployNewStack(ctx context.Context, resolvedStack *model.S
112112
return fmt.Errorf("failed to create stack: %w", err)
113113
}
114114

115-
fmt.Printf("Stack %s create completed successfully\n", resolvedStack.Name)
115+
fmt.Printf("Stack %s create completed successfully\n", stack.Name)
116116
return nil
117117
}
118118

119119
// deployWithChangeSet handles deployment using changeset preview + execution
120-
func (d *AWSDeployer) deployWithChangeSet(ctx context.Context, resolvedStack *model.Stack) error {
120+
func (d *AWSDeployer) deployWithChangeSet(ctx context.Context, stack *model.Stack) error {
121121
// Create differ for consistent change display
122-
fmt.Printf("=== Calculating changes for stack %s ===\n", resolvedStack.Name)
122+
fmt.Printf("=== Calculating changes for stack %s ===\n", stack.Name)
123123

124124
cfnOps := d.awsClient.NewCloudFormationOperations()
125125
differ := diff.NewDiffer(cfnOps)
126126

127127
// Generate diff result using the same system as 'stackaroo diff'
128128
diffOptions := diff.Options{Format: "text"}
129-
diffResult, err := differ.DiffStack(ctx, resolvedStack, diffOptions)
129+
diffResult, err := differ.DiffStack(ctx, stack, diffOptions)
130130
if err != nil {
131131
return fmt.Errorf("failed to calculate changes: %w", err)
132132
}
133133

134134
// Show preview using consistent formatting
135135
if diffResult.HasChanges() {
136-
fmt.Printf("Changes to be applied to stack %s:\n\n", resolvedStack.Name)
136+
fmt.Printf("Changes to be applied to stack %s:\n\n", stack.Name)
137137
fmt.Print(diffResult.String())
138138
fmt.Println()
139139
} else {
140-
fmt.Printf("No changes detected for stack %s\n", resolvedStack.Name)
140+
fmt.Printf("No changes detected for stack %s\n", stack.Name)
141141
return nil
142142
}
143143

144144
// Create separate changeset for execution (since differ deletes its changesets)
145145
changeSetMgr := diff.NewChangeSetManager(cfnOps)
146146

147147
// Use capabilities from resolved stack, with default fallback
148-
capabilities := resolvedStack.Capabilities
148+
capabilities := stack.Capabilities
149149
if len(capabilities) == 0 {
150150
capabilities = []string{"CAPABILITY_IAM"} // Default capability
151151
}
152152

153153
changeSetInfo, err := changeSetMgr.CreateChangeSetForDeployment(
154154
ctx,
155-
resolvedStack.Name,
156-
resolvedStack.TemplateBody,
157-
resolvedStack.Parameters,
155+
stack.Name,
156+
stack.TemplateBody,
157+
stack.Parameters,
158158
capabilities,
159-
resolvedStack.Tags,
159+
stack.Tags,
160160
)
161161
if err != nil {
162162
return fmt.Errorf("failed to create changeset for execution: %w", err)
163163
}
164164

165165
// Execute the changeset
166-
fmt.Printf("=== Deploying stack %s ===\n", resolvedStack.Name)
166+
fmt.Printf("=== Deploying stack %s ===\n", stack.Name)
167167

168168
executeInput := &cloudformation.ExecuteChangeSetInput{
169169
ChangeSetName: aws.String(changeSetInfo.ChangeSetID),
@@ -187,15 +187,15 @@ func (d *AWSDeployer) deployWithChangeSet(ctx context.Context, resolvedStack *mo
187187
)
188188
}
189189

190-
err = cfnOps.WaitForStackOperation(ctx, resolvedStack.Name, eventCallback)
190+
err = cfnOps.WaitForStackOperation(ctx, stack.Name, eventCallback)
191191
if err != nil {
192192
return fmt.Errorf("stack deployment failed: %w", err)
193193
}
194194

195195
// Clean up changeset after successful deployment
196196
_ = changeSetMgr.DeleteChangeSet(ctx, changeSetInfo.ChangeSetID)
197197

198-
fmt.Printf("Stack %s update completed successfully\n", resolvedStack.Name)
198+
fmt.Printf("Stack %s update completed successfully\n", stack.Name)
199199
return nil
200200
}
201201

0 commit comments

Comments
 (0)