From a553689091ceaf200de2a8ed296698c6acdb0c95 Mon Sep 17 00:00:00 2001 From: Riley Jones Date: Tue, 2 May 2023 23:52:30 +0000 Subject: [PATCH 1/2] update the utils used to mock the state --- .../webapp/runs/views/runs_selector/BUILD | 2 + .../webapp/runs/views/runs_table/BUILD | 15 +++- tensorboard/webapp/testing/BUILD | 10 +++ tensorboard/webapp/testing/utils.ts | 69 +++++++++++++++---- 4 files changed, 82 insertions(+), 14 deletions(-) diff --git a/tensorboard/webapp/runs/views/runs_selector/BUILD b/tensorboard/webapp/runs/views/runs_selector/BUILD index 9c262cb764..fd934d5ae1 100644 --- a/tensorboard/webapp/runs/views/runs_selector/BUILD +++ b/tensorboard/webapp/runs/views/runs_selector/BUILD @@ -16,6 +16,7 @@ tf_ng_module( "//tensorboard/webapp:selectors", "//tensorboard/webapp/runs/store:types", "//tensorboard/webapp/runs/views/runs_table", + "//tensorboard/webapp/runs/views/runs_table:types", "@npm//@angular/common", "@npm//@angular/core", "@npm//@ngrx/store", @@ -38,6 +39,7 @@ tf_ts_library( "//tensorboard/webapp/angular:expect_ngrx_store_testing", "//tensorboard/webapp/runs/store:testing", "//tensorboard/webapp/runs/views/runs_table", + "//tensorboard/webapp/runs/views/runs_table:types", "//tensorboard/webapp/testing:utils", "@npm//@angular/core", "@npm//@angular/platform-browser", diff --git a/tensorboard/webapp/runs/views/runs_table/BUILD b/tensorboard/webapp/runs/views/runs_table/BUILD index 591595ce95..0d48ea0a46 100644 --- a/tensorboard/webapp/runs/views/runs_table/BUILD +++ b/tensorboard/webapp/runs/views/runs_table/BUILD @@ -31,6 +31,18 @@ tf_sass_binary( deps = ["//tensorboard/webapp/theme"], ) +tf_ts_library( + name = "types", + srcs = [ + "types.ts", + ], + deps = [ + "//tensorboard/webapp/experiments:types", + "//tensorboard/webapp/runs/data_source", + "//tensorboard/webapp/runs/store:types", + ], +) + tf_ng_module( name = "runs_table", srcs = [ @@ -41,7 +53,6 @@ tf_ng_module( "runs_table_component.ts", "runs_table_container.ts", "runs_table_module.ts", - "types.ts", ], assets = [ ":regex_edit_dialog_styles", @@ -52,6 +63,7 @@ tf_ng_module( "runs_group_menu_button_component.ng.html", ], deps = [ + ":types", "//tensorboard/webapp:app_state", "//tensorboard/webapp:selectors", "//tensorboard/webapp/alert", @@ -103,6 +115,7 @@ tf_ts_library( ], deps = [ ":runs_table", + ":types", "//tensorboard/webapp:app_state", "//tensorboard/webapp:selectors", "//tensorboard/webapp/alert/actions", diff --git a/tensorboard/webapp/testing/BUILD b/tensorboard/webapp/testing/BUILD index d17120c1de..503b3023c2 100644 --- a/tensorboard/webapp/testing/BUILD +++ b/tensorboard/webapp/testing/BUILD @@ -67,12 +67,22 @@ tf_ts_library( ], deps = [ "//tensorboard/plugins/debugger_v2/tf_debugger_v2_plugin/testing", + "//tensorboard/webapp:app_state", "//tensorboard/webapp/alert/store:testing", "//tensorboard/webapp/angular:expect_ngrx_store_testing", + "//tensorboard/webapp/app_routing/store:testing", + "//tensorboard/webapp/app_routing/store:types", "//tensorboard/webapp/core/testing", + "//tensorboard/webapp/experiments/store:testing", + "//tensorboard/webapp/experiments/store:types", "//tensorboard/webapp/feature_flag/store:testing", + "//tensorboard/webapp/feature_flag/store:types", + "//tensorboard/webapp/hparams/_redux:testing", "//tensorboard/webapp/metrics:test_lib", + "//tensorboard/webapp/metrics/store", "//tensorboard/webapp/persistent_settings/_redux:testing", + "//tensorboard/webapp/runs/store:testing", + "//tensorboard/webapp/runs/store:types", "//tensorboard/webapp/settings:testing", "@npm//@ngrx/store", ], diff --git a/tensorboard/webapp/testing/utils.ts b/tensorboard/webapp/testing/utils.ts index 3bfbd3a873..f5700c9448 100644 --- a/tensorboard/webapp/testing/utils.ts +++ b/tensorboard/webapp/testing/utils.ts @@ -18,27 +18,70 @@ import { buildAlertState, buildStateFromAlertState, } from '../alert/store/testing'; +import {APP_ROUTING_FEATURE_KEY} from '../app_routing/store/app_routing_types'; +import { + buildAppRoutingState, + buildStateFromAppRoutingState, +} from '../app_routing/store/testing'; +import {State} from '../app_state'; import {createState as createCoreState} from '../core/testing'; -import {buildFeatureFlagState} from '../feature_flag/store/testing'; +import {EXPERIMENTS_FEATURE_KEY} from '../experiments/store/experiments_types'; +import { + buildExperimentState, + buildStateFromExperimentsState, +} from '../experiments/store/testing'; +import {FEATURE_FLAG_FEATURE_KEY} from '../feature_flag/store/feature_flag_types'; +import { + buildFeatureFlagState, + buildState as buildStateFromFeatureFlagsState, +} from '../feature_flag/store/testing'; +import { + buildHparamsState, + buildStateFromHparamsState, +} from '../hparams/_redux/testing'; +import {METRICS_FEATURE_KEY} from '../metrics/store'; import {appStateFromMetricsState, buildMetricsState} from '../metrics/testing'; import { buildPersistentSettingsState, buildStateFromPersistentSettingsState, } from '../persistent_settings/_redux/testing'; -import {createSettingsState} from '../settings/testing'; +import {RUNS_FEATURE_KEY} from '../runs/store/runs_types'; +import {buildRunsState, buildStateFromRunsState} from '../runs/store/testing'; +import { + createState as createSettings, + createSettingsState, +} from '../settings/testing'; + +export function buildMockState(overrides: Partial = {}): State { + return { + ...createDebuggerState(), + ...buildFeatureFlagState(overrides[FEATURE_FLAG_FEATURE_KEY]), + ...buildStateFromAlertState(buildAlertState({})), + ...buildStateFromPersistentSettingsState(buildPersistentSettingsState({})), + ...createCoreState(), + ...appStateFromMetricsState( + buildMetricsState(overrides[METRICS_FEATURE_KEY]) + ), + ...createSettings(createSettingsState()), + ...buildStateFromRunsState( + buildRunsState( + overrides[RUNS_FEATURE_KEY]?.data, + overrides[RUNS_FEATURE_KEY]?.ui + ) + ), + ...buildStateFromExperimentsState( + buildExperimentState(overrides[EXPERIMENTS_FEATURE_KEY]?.data) + ), + ...buildStateFromAppRoutingState( + buildAppRoutingState(overrides[APP_ROUTING_FEATURE_KEY]) + ), + ...buildStateFromFeatureFlagsState(buildFeatureFlagState()), + ...buildStateFromHparamsState(buildHparamsState()), + }; +} export function provideMockTbStore() { return provideMockStore({ - initialState: { - ...createDebuggerState(), - ...buildFeatureFlagState(), - ...buildStateFromAlertState(buildAlertState({})), - ...buildStateFromPersistentSettingsState( - buildPersistentSettingsState({}) - ), - ...createCoreState(), - ...appStateFromMetricsState(buildMetricsState()), - ...createSettingsState(), - }, + initialState: buildMockState(), }); } From 10b4548a65baf8edf2fb9ccf4c6e620edc21040d Mon Sep 17 00:00:00 2001 From: Riley Jones Date: Wed, 3 May 2023 17:23:14 +0000 Subject: [PATCH 2/2] add notifications state mock --- tensorboard/data/server/BUILD | 2 +- tensorboard/webapp/notification_center/_redux/BUILD | 1 + tensorboard/webapp/testing/BUILD | 2 ++ tensorboard/webapp/testing/utils.ts | 8 ++++++++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/tensorboard/data/server/BUILD b/tensorboard/data/server/BUILD index 0daedaea2f..689e68db3c 100644 --- a/tensorboard/data/server/BUILD +++ b/tensorboard/data/server/BUILD @@ -29,7 +29,6 @@ _checked_in_file_descriptor_set = "descriptor.bin" rust_library( name = "rustboard_core", srcs = [ - "lib.rs", "blob_key.rs", "cli.rs", "cli/dynamic_logdir.rs", @@ -42,6 +41,7 @@ rust_library( "gcs/auth.rs", "gcs/client.rs", "gcs/logdir.rs", + "lib.rs", "logdir.rs", "masked_crc.rs", "reservoir.rs", diff --git a/tensorboard/webapp/notification_center/_redux/BUILD b/tensorboard/webapp/notification_center/_redux/BUILD index f4f648537c..2dfba95b84 100644 --- a/tensorboard/webapp/notification_center/_redux/BUILD +++ b/tensorboard/webapp/notification_center/_redux/BUILD @@ -55,6 +55,7 @@ tf_ts_library( srcs = [ "testing.ts", ], + visibility = ["//tensorboard/webapp/testing:__subpackages__"], deps = [ ":types", ], diff --git a/tensorboard/webapp/testing/BUILD b/tensorboard/webapp/testing/BUILD index 503b3023c2..a76a1779cb 100644 --- a/tensorboard/webapp/testing/BUILD +++ b/tensorboard/webapp/testing/BUILD @@ -80,6 +80,8 @@ tf_ts_library( "//tensorboard/webapp/hparams/_redux:testing", "//tensorboard/webapp/metrics:test_lib", "//tensorboard/webapp/metrics/store", + "//tensorboard/webapp/notification_center/_redux:testing", + "//tensorboard/webapp/notification_center/_redux:types", "//tensorboard/webapp/persistent_settings/_redux:testing", "//tensorboard/webapp/runs/store:testing", "//tensorboard/webapp/runs/store:types", diff --git a/tensorboard/webapp/testing/utils.ts b/tensorboard/webapp/testing/utils.ts index f5700c9448..92793f723a 100644 --- a/tensorboard/webapp/testing/utils.ts +++ b/tensorboard/webapp/testing/utils.ts @@ -41,6 +41,11 @@ import { } from '../hparams/_redux/testing'; import {METRICS_FEATURE_KEY} from '../metrics/store'; import {appStateFromMetricsState, buildMetricsState} from '../metrics/testing'; +import {NOTIFICATION_FEATURE_KEY} from '../notification_center/_redux/notification_center_types'; +import { + buildNotificationState, + buildStateFromNotificationState, +} from '../notification_center/_redux/testing'; import { buildPersistentSettingsState, buildStateFromPersistentSettingsState, @@ -77,6 +82,9 @@ export function buildMockState(overrides: Partial = {}): State { ), ...buildStateFromFeatureFlagsState(buildFeatureFlagState()), ...buildStateFromHparamsState(buildHparamsState()), + ...buildStateFromNotificationState( + buildNotificationState(overrides[NOTIFICATION_FEATURE_KEY] || {}) + ), }; }