Skip to content

Commit

Permalink
feedback(virtual-fields): applied
Browse files Browse the repository at this point in the history
  • Loading branch information
Rambatino committed Feb 10, 2025
1 parent 76a5d64 commit f8df384
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 53 deletions.
12 changes: 9 additions & 3 deletions axiom/vfields.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,17 @@ func (s *VirtualFieldsService) List(ctx context.Context, dataset string) ([]*Vir
))
defer span.End()

params := url.Values{}
params.Set("dataset", dataset)
path, err := AddURLOptions(s.basePath, struct {
Dataset string `url:"dataset"`
}{
Dataset: dataset,
})
if err != nil {
return nil, spanError(span, err)
}

var res []*VirtualFieldWithID
if err := s.client.Call(ctx, http.MethodGet, s.basePath+"?"+params.Encode(), nil, &res); err != nil {
if err := s.client.Call(ctx, http.MethodGet, path, nil, &res); err != nil {
return nil, spanError(span, err)
}

Expand Down
64 changes: 14 additions & 50 deletions axiom/vfields_integration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ type VirtualFieldsTestSuite struct {

// Setup once per test.
vfield *axiom.VirtualFieldWithID

dataset string
}

func TestVirtualFieldsTestSuite(t *testing.T) {
Expand All @@ -34,9 +36,13 @@ func (s *VirtualFieldsTestSuite) TearDownSuite() {
func (s *VirtualFieldsTestSuite) SetupTest() {
s.IntegrationTestSuite.SetupTest()

s.dataset = "vfield-ds-" + datasetSuffix
var err error
_, err = s.client.Datasets.Create(s.ctx, axiom.DatasetCreateRequest{Name: s.dataset})
s.Require().NoError(err)

s.vfield, err = s.client.VirtualFields.Create(s.ctx, axiom.VirtualField{
Dataset: "test-dataset",
Dataset: s.dataset,
Name: "TestField",
Expression: "a + b",
Type: "number",
Expand All @@ -54,43 +60,18 @@ func (s *VirtualFieldsTestSuite) TearDownTest() {
err := s.client.VirtualFields.Delete(ctx, s.vfield.ID)
s.NoError(err)

err = s.client.Datasets.Delete(ctx, s.dataset)
s.NoError(err)

s.IntegrationTestSuite.TearDownTest()
}

func (s *VirtualFieldsTestSuite) Test() {
// Update the virtual field.
func (s *VirtualFieldsTestSuite) TestUpdateAndDeleteVirtualField() {
// Create a new virtual field.
vfield, err := s.client.VirtualFields.Update(s.ctx, s.vfield.ID, axiom.VirtualField{
Dataset: "test-dataset",
Dataset: s.dataset,
Name: "UpdatedTestField",
Expression: "a - b",
Type: "number",
})
s.Require().NoError(err)
s.Require().NotNil(vfield)

s.vfield = vfield

// Get the virtual field and make sure it matches the updated values.
vfield, err = s.client.VirtualFields.Get(s.ctx, s.vfield.ID)
s.Require().NoError(err)
s.Require().NotNil(vfield)

s.Equal(s.vfield, vfield)

// List all virtual fields for the dataset and ensure the created field is part of the list.
vfields, err := s.client.VirtualFields.List(s.ctx, "test-dataset")
s.Require().NoError(err)
s.Require().NotEmpty(vfields)

s.Contains(vfields, s.vfield)
}

func (s *VirtualFieldsTestSuite) TestCreateAndDeleteVirtualField() {
// Create a new virtual field.
vfield, err := s.client.VirtualFields.Create(s.ctx, axiom.VirtualField{
Dataset: "test-dataset",
Name: "NewTestField",
Expression: "x * y",
Expression: "a * b",
Type: "number",
})
s.Require().NoError(err)
Expand All @@ -101,21 +82,4 @@ func (s *VirtualFieldsTestSuite) TestCreateAndDeleteVirtualField() {
s.Require().NoError(err)
s.Require().NotNil(fetchedField)
s.Equal(vfield, fetchedField)

// Delete the virtual field.
err = s.client.VirtualFields.Delete(s.ctx, vfield.ID)
s.Require().NoError(err)

// Ensure the virtual field no longer exists.
_, err = s.client.VirtualFields.Get(s.ctx, vfield.ID)
s.Error(err)
}

func (s *VirtualFieldsTestSuite) TestListVirtualFields() {
// List all virtual fields for the dataset and ensure the created field is part of the list.
vfields, err := s.client.VirtualFields.List(s.ctx, "test-dataset")
s.Require().NoError(err)
s.Require().NotEmpty(vfields)

s.Contains(vfields, s.vfield)
}

0 comments on commit f8df384

Please sign in to comment.