Skip to content

Commit 0e9ce3b

Browse files
committed
get rid of methods on OxqlTable
1 parent 0ea4b3f commit 0e9ce3b

File tree

2 files changed

+25
-39
lines changed

2 files changed

+25
-39
lines changed

nexus/tests/integration_tests/metrics.rs

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -277,10 +277,11 @@ async fn test_instance_watcher_metrics(
277277
use oxql_types::point::ValueArray;
278278
let uuid = FieldValue::Uuid(instance_id.into_untyped_uuid());
279279
let state = FieldValue::String(state.into());
280-
let mut timeserieses = table.timeseries().filter(|ts| {
281-
ts.fields.get(INSTANCE_ID_FIELD) == Some(&uuid)
282-
&& ts.fields.get(STATE_FIELD) == Some(&state)
283-
});
280+
let mut timeserieses =
281+
table.timeseries.clone().into_iter().filter(|ts| {
282+
ts.fields.get(INSTANCE_ID_FIELD) == Some(&uuid)
283+
&& ts.fields.get(STATE_FIELD) == Some(&state)
284+
});
284285
let timeseries = timeserieses.next().ok_or_else(|| {
285286
MetricsNotYet::new(format!(
286287
"missing timeseries for instance {instance_id}, state {state}\n\
@@ -325,7 +326,7 @@ async fn test_instance_watcher_metrics(
325326
.system_timeseries_query_until(OXQL_QUERY, |metrics| {
326327
let checks = metrics
327328
.iter()
328-
.find(|t| t.name() == "virtual_machine:check")
329+
.find(|t| t.name == "virtual_machine:check")
329330
.ok_or_else(|| {
330331
MetricsNotYet::new("missing virtual_machine:check")
331332
})?;
@@ -348,7 +349,7 @@ async fn test_instance_watcher_metrics(
348349
.system_timeseries_query_until(OXQL_QUERY, |metrics| {
349350
let checks = metrics
350351
.iter()
351-
.find(|t| t.name() == "virtual_machine:check")
352+
.find(|t| t.name == "virtual_machine:check")
352353
.expect("missing virtual_machine:check");
353354
let ts1 =
354355
dbg!(count_state(&checks, instance1_uuid, STATE_STARTING)?);
@@ -371,7 +372,7 @@ async fn test_instance_watcher_metrics(
371372
.system_timeseries_query_until(OXQL_QUERY, |metrics| {
372373
let checks = metrics
373374
.iter()
374-
.find(|t| t.name() == "virtual_machine:check")
375+
.find(|t| t.name == "virtual_machine:check")
375376
.expect("missing virtual_machine:check");
376377
let ts1_starting =
377378
dbg!(count_state(&checks, instance1_uuid, STATE_STARTING)?);
@@ -402,7 +403,7 @@ async fn test_instance_watcher_metrics(
402403
.system_timeseries_query_until(OXQL_QUERY, |metrics| {
403404
let checks = metrics
404405
.iter()
405-
.find(|t| t.name() == "virtual_machine:check")
406+
.find(|t| t.name == "virtual_machine:check")
406407
.expect("missing virtual_machine:check");
407408

408409
let ts1_starting =
@@ -437,7 +438,7 @@ async fn test_instance_watcher_metrics(
437438
.system_timeseries_query_until(OXQL_QUERY, |metrics| {
438439
let checks = metrics
439440
.iter()
440-
.find(|t| t.name() == "virtual_machine:check")
441+
.find(|t| t.name == "virtual_machine:check")
441442
.expect("missing virtual_machine:check");
442443
let ts1_starting =
443444
dbg!(count_state(&checks, instance1_uuid, STATE_STARTING)?);
@@ -497,7 +498,7 @@ async fn test_project_timeseries_query(
497498
return Err(MetricsNotYet::new("waiting for table creation"));
498499
}
499500
assert_eq!(result.len(), 1);
500-
if result[0].timeseries().len() == 0 {
501+
if result[0].timeseries.is_empty() {
501502
return Err(MetricsNotYet::new(
502503
"waiting for timeseries population",
503504
));
@@ -511,23 +512,23 @@ async fn test_project_timeseries_query(
511512
.project_timeseries_query(&p1.identity.id.to_string(), q1)
512513
.await;
513514
assert_eq!(result.len(), 1);
514-
assert!(result[0].timeseries().len() > 0);
515+
assert!(!result[0].timeseries.is_empty());
515516

516517
let result = metrics_querier.project_timeseries_query("project2", q1).await;
517518
assert_eq!(result.len(), 1);
518-
assert!(result[0].timeseries().len() > 0);
519+
assert!(!result[0].timeseries.is_empty());
519520

520521
// with project specified
521522
let q2 = &format!("{} | filter project_id == \"{}\"", q1, p1.identity.id);
522523

523524
let result = metrics_querier.project_timeseries_query("project1", q2).await;
524525
assert_eq!(result.len(), 1);
525526
// we get 2 timeseries because there are two instances
526-
assert!(result[0].timeseries().len() == 2);
527+
assert!(result[0].timeseries.len() == 2);
527528

528529
let result = metrics_querier.project_timeseries_query("project2", q2).await;
529530
assert_eq!(result.len(), 1);
530-
assert_eq!(result[0].timeseries().len(), 0);
531+
assert_eq!(result[0].timeseries.len(), 0);
531532

532533
// with instance specified
533534
let q3 =
@@ -536,12 +537,12 @@ async fn test_project_timeseries_query(
536537
// project containing instance gives me something
537538
let result = metrics_querier.project_timeseries_query("project1", q3).await;
538539
assert_eq!(result.len(), 1);
539-
assert_eq!(result[0].timeseries().len(), 1);
540+
assert_eq!(result[0].timeseries.len(), 1);
540541

541542
// should be empty or error
542543
let result = metrics_querier.project_timeseries_query("project2", q3).await;
543544
assert_eq!(result.len(), 1);
544-
assert_eq!(result[0].timeseries().len(), 0);
545+
assert_eq!(result[0].timeseries.len(), 0);
545546

546547
// now let's test it with group_by
547548
let q4 = &format!(
@@ -550,7 +551,7 @@ async fn test_project_timeseries_query(
550551
);
551552
let result = metrics_querier.project_timeseries_query("project1", q4).await;
552553
assert_eq!(result.len(), 1);
553-
assert_eq!(result[0].timeseries().len(), 2);
554+
assert_eq!(result[0].timeseries.len(), 2);
554555

555556
// test with a nested query
556557
let q5 = &format!(
@@ -565,13 +566,13 @@ async fn test_project_timeseries_query(
565566
// we get two results, each contains one timeseries, and the instance ID
566567
// on each corresponds to the one we requested
567568
assert_eq!(result.len(), 2);
568-
assert_eq!(result[0].timeseries().len(), 1);
569-
let timeseries = result[0].timeseries().next().unwrap();
569+
assert_eq!(result[0].timeseries.len(), 1);
570+
let timeseries = result[0].timeseries[0].clone();
570571
let instance_id = timeseries.fields.get("instance_id").unwrap().to_string();
571572
assert_eq!(instance_id, i1p1.identity.id.to_string());
572573

573-
assert_eq!(result[1].timeseries().len(), 1);
574-
let timeseries = result[1].timeseries().next().unwrap();
574+
assert_eq!(result[1].timeseries.len(), 1);
575+
let timeseries = &result[1].timeseries[0];
575576
let instance_id = timeseries.fields.get("instance_id").unwrap().to_string();
576577
assert_eq!(instance_id, i2p1.identity.id.to_string());
577578

@@ -642,7 +643,7 @@ async fn test_project_timeseries_query(
642643
.execute_and_parse_unwrap::<views::OxqlQueryResult>()
643644
.await;
644645
assert_eq!(result.tables.len(), 1);
645-
assert_eq!(result.tables[0].timeseries().len(), 2); // two instances
646+
assert_eq!(result.tables[0].timeseries.len(), 2); // two instances
646647
}
647648

648649
#[nexus_test]
@@ -780,7 +781,7 @@ async fn test_mgs_metrics(
780781
querier.system_timeseries_query_until(&query, |tables| {
781782
let table = tables
782783
.into_iter()
783-
.find(|t| t.name() == name)
784+
.find(|t| t.name == *name)
784785
.ok_or_else(|| {
785786
MetricsNotYet::new(format!(
786787
"failed to find table for {query}",
@@ -791,7 +792,7 @@ async fn test_mgs_metrics(
791792
.keys()
792793
.map(|serial| (serial.clone(), 0))
793794
.collect::<HashMap<_, usize>>();
794-
for timeseries in table.timeseries() {
795+
for timeseries in &table.timeseries {
795796
let fields = &timeseries.fields;
796797
if timeseries.points.is_empty() {
797798
return Err(MetricsNotYet::new(format!(

nexus/types/src/external_api/views.rs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,21 +1161,6 @@ impl From<oxql_types::Table> for OxqlTable {
11611161
}
11621162
}
11631163

1164-
// these methods are only used in tests
1165-
impl OxqlTable {
1166-
/// Return the name of the table.
1167-
pub fn name(&self) -> &str {
1168-
self.name.as_str()
1169-
}
1170-
1171-
/// Return the list of timeseries in this table, ordered by key.
1172-
pub fn timeseries(
1173-
&self,
1174-
) -> impl ExactSizeIterator<Item = &oxql_types::Timeseries> {
1175-
self.timeseries.iter()
1176-
}
1177-
}
1178-
11791164
/// The result of a successful OxQL query.
11801165
#[derive(Clone, Debug, Deserialize, JsonSchema, Serialize)]
11811166
pub struct OxqlQueryResult {

0 commit comments

Comments
 (0)