Skip to content

Commit

Permalink
Merge pull request #124 from slizco/error-out-on-creation-if-derived-…
Browse files Browse the repository at this point in the history
…col-exists

Do not update an existing derived column with creation of new TF resource
  • Loading branch information
jharley authored Mar 4, 2022
2 parents edbfdfa + 53122d0 commit d3d3d8b
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 6 deletions.
12 changes: 12 additions & 0 deletions client/derived_column_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,18 @@ func TestDerivedColumns(t *testing.T) {
assert.Equal(t, data, derivedColumn)
})

t.Run("Create_DuplicateErr", func(t *testing.T) {
data := &DerivedColumn{
Alias: "derived_column_test",
Expression: "LOG10($duration_ms)",
Description: "This is a derived column with the same name as an existing one",
}
_, err = c.DerivedColumns.Create(ctx, dataset, data)

assert.Error(t, err)
assert.Contains(t, err.Error(), "chosen alias is the same as an existing derived column")
})

t.Run("List", func(t *testing.T) {
derivedColumns, err := c.DerivedColumns.List(ctx, dataset)

Expand Down
7 changes: 1 addition & 6 deletions honeycombio/resource_derived_column.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,7 @@ func resourceDerivedColumnCreate(ctx context.Context, d *schema.ResourceData, me
dataset := d.Get("dataset").(string)
derivedColumn := readDerivedColumn(d)

existing, err := client.DerivedColumns.GetByAlias(ctx, dataset, derivedColumn.Alias)
if err == nil {
d.SetId(existing.ID)
return resourceDerivedColumnUpdate(ctx, d, meta)
}

var err error
derivedColumn, err = client.DerivedColumns.Create(ctx, dataset, derivedColumn)
if err != nil {
return diag.FromErr(err)
Expand Down

0 comments on commit d3d3d8b

Please sign in to comment.