55 lines
919 B
Go
55 lines
919 B
Go
package packer
|
|
|
|
// MockArtifact is an implementation of Artifact that can be used for tests.
|
|
type MockArtifact struct {
|
|
BuilderIdValue string
|
|
FilesValue []string
|
|
IdValue string
|
|
StateValues map[string]interface{}
|
|
DestroyCalled bool
|
|
StringValue string
|
|
}
|
|
|
|
func (a *MockArtifact) BuilderId() string {
|
|
if a.BuilderIdValue == "" {
|
|
return "bid"
|
|
}
|
|
|
|
return a.BuilderIdValue
|
|
}
|
|
|
|
func (a *MockArtifact) Files() []string {
|
|
if a.FilesValue == nil {
|
|
return []string{"a", "b"}
|
|
}
|
|
|
|
return a.FilesValue
|
|
}
|
|
|
|
func (a *MockArtifact) Id() string {
|
|
id := a.IdValue
|
|
if id == "" {
|
|
id = "id"
|
|
}
|
|
|
|
return id
|
|
}
|
|
|
|
func (a *MockArtifact) String() string {
|
|
str := a.StringValue
|
|
if str == "" {
|
|
str = "string"
|
|
}
|
|
return str
|
|
}
|
|
|
|
func (a *MockArtifact) State(name string) interface{} {
|
|
value, _ := a.StateValues[name]
|
|
return value
|
|
}
|
|
|
|
func (a *MockArtifact) Destroy() error {
|
|
a.DestroyCalled = true
|
|
return nil
|
|
}
|