Skip to content

Commit

Permalink
WIP to validate record-density param
Browse files Browse the repository at this point in the history
  • Loading branch information
suprjinx committed Jul 30, 2024
1 parent 82bac3a commit c23e64c
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 36 deletions.
2 changes: 1 addition & 1 deletion pkg/api/aim/dao/repositories/artifact.go
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ func (r ArtifactRepository) Search(

interval := 1
if req.RecordDensity > 0 {
interval = maxStep - minStep/req.RecordDensity
interval = (maxStep - minStep) / req.RecordDensity
}

// get a cursor for the artifacts
Expand Down
88 changes: 53 additions & 35 deletions tests/integration/golang/aim/run/search_artifacts_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -113,58 +113,69 @@ func (s *SearchArtifactsTestSuite) Test_Ok() {
}

tests := []struct {
name string
request request.SearchArtifactsRequest
includedRuns []*models.Run
excludedRuns []*models.Run
expectedRecordRangeMax int64
expectedIndexRangeMax int64
expectedTraceLength int
name string
request request.SearchArtifactsRequest
includedRuns []*models.Run
excludedRuns []*models.Run
expectedRecordRangeMax int64
expectedIndexRangeMax int64
expectedImageIndexesPresent []int
expectedImageIndexesAbsent []int
}{
{
name: "SearchArtifact",
request: request.SearchArtifactsRequest{},
includedRuns: []*models.Run{run1, run2},
expectedRecordRangeMax: 4,
expectedIndexRangeMax: 4,
name: "SearchArtifact",
request: request.SearchArtifactsRequest{},
includedRuns: []*models.Run{run1, run2},
expectedRecordRangeMax: 4,
expectedIndexRangeMax: 4,
expectedImageIndexesPresent: []int{0, 1, 2, 3},
expectedImageIndexesAbsent: []int{},
},
{
name: "SearchArtifactWithNameQuery",
request: request.SearchArtifactsRequest{
Query: `((images.name == "some-name"))`,
},
includedRuns: []*models.Run{run1},
excludedRuns: []*models.Run{run2},
expectedRecordRangeMax: 4,
expectedIndexRangeMax: 4,
includedRuns: []*models.Run{run1},
excludedRuns: []*models.Run{run2},
expectedRecordRangeMax: 4,
expectedIndexRangeMax: 4,
expectedImageIndexesPresent: []int{0, 1, 2, 3},
expectedImageIndexesAbsent: []int{},
},
{
name: "SearchArtifactWithRecordRange",
request: request.SearchArtifactsRequest{
RecordRange: "0:2",
},
includedRuns: []*models.Run{run1, run2},
expectedRecordRangeMax: 2,
expectedIndexRangeMax: 4,
includedRuns: []*models.Run{run1, run2},
expectedRecordRangeMax: 2,
expectedIndexRangeMax: 4,
expectedImageIndexesPresent: []int{0, 1, 2, 3},
expectedImageIndexesAbsent: []int{},
},
{
name: "SearchArtifactWithIndexRange",
request: request.SearchArtifactsRequest{
IndexRange: "0:2",
},
includedRuns: []*models.Run{run1, run2},
expectedRecordRangeMax: 4,
expectedIndexRangeMax: 2,
},
{
name: "SearchArtifactWithRecordDensity",
request: request.SearchArtifactsRequest{
RecordDensity: 2,
},
includedRuns: []*models.Run{run1, run2},
expectedRecordRangeMax: 4,
expectedIndexRangeMax: 4,
includedRuns: []*models.Run{run1, run2},
expectedRecordRangeMax: 4,
expectedIndexRangeMax: 2,
expectedImageIndexesPresent: []int{0, 1, 2},
expectedImageIndexesAbsent: []int{3},
},
// {
// name: "SearchArtifactWithRecordDensity",
// request: request.SearchArtifactsRequest{
// RecordDensity: 2,
// },
// includedRuns: []*models.Run{run2},
// expectedRecordRangeMax: 4,
// expectedIndexRangeMax: 4,
// expectedImageIndexesPresent: []int{0, 1},
// expectedImageIndexesAbsent: []int{2, 3},
// },
}
for _, tt := range tests {
s.Run(tt.name, func() {
Expand All @@ -186,7 +197,6 @@ func (s *SearchArtifactsTestSuite) Test_Ok() {

for _, run := range tt.includedRuns {
traceIndex := 0
imgIndex := 0
valuesIndex := 0
rangesPrefix := fmt.Sprintf("%v.ranges", run.ID)
recordRangeKey := rangesPrefix + ".record_range_total.1"
Expand All @@ -197,9 +207,17 @@ func (s *SearchArtifactsTestSuite) Test_Ok() {
indexRangeKey := rangesPrefix + ".index_range_total.1"
s.Equal(tt.expectedIndexRangeMax, decodedData[indexRangeKey])
tracesPrefix := fmt.Sprintf("%v.traces.%d", run.ID, traceIndex)
valuesPrefix := fmt.Sprintf(".values.%d.%d", valuesIndex, imgIndex)
blobUriKey := tracesPrefix + valuesPrefix + ".blob_uri"
s.Equal("path/filename.png", decodedData[blobUriKey])
for _, imgIndex := range tt.expectedImageIndexesPresent {
valuesPrefix := fmt.Sprintf(".values.%d.%d", valuesIndex, imgIndex)
blobUriKey := tracesPrefix + valuesPrefix + ".blob_uri"
s.Contains(decodedData, blobUriKey)
s.Equal("path/filename.png", decodedData[blobUriKey])
}
for _, imgIndex := range tt.expectedImageIndexesAbsent {
valuesPrefix := fmt.Sprintf(".values.%d.%d", valuesIndex, imgIndex)
blobUriKey := tracesPrefix + valuesPrefix + ".blob_uri"
s.NotContains(decodedData, blobUriKey)
}
}
for _, run := range tt.excludedRuns {
imgIndex := 0
Expand Down

0 comments on commit c23e64c

Please sign in to comment.