Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More than 3 layers; Load layers from discreet URLs; Shore up tests; Bug Fixes #51

Merged
merged 100 commits into from
Nov 15, 2024

Conversation

jkafader-esnet
Copy link
Collaborator

No description provided.

…he Network Map Plugin (#33)

* TERR-355
- formatted existing code in module.spec.js

* TERR-355
- added initial tests for edge and node prior to apply button press

* TERR-355
- fixed test for comparing delta drag in view mode prior to edit mode and after the edit in view mode, not edit mode

* TERR-355
- bumped version of grafana for docker-compose to 10.4.0

* TERR-355
- refactored  to helper fn getNetworkMapPanelUrl to fetch either edit or view URLs based on new 5th fn parameter isEdit
- added tsdoc for above

* TERR-355
- removed some commented code
- added in routine to set edit modes to edit nodes, not edges in e2e node integration testing
- added in aria attributes for edit nodes/edges toggle buttons to EditingInterface.component render

* TERR-355
- updated docker-compose to use fixed version of grafana 10.4.0
- updated packages to align with grafana 10.4.0
- updated yarn lock file
- updated auth setup script to align with grafana 10.4.0 changes to login
- updated locators in plugin.spec  to align with changes in grafana 10.4.0 UI
- added in code to possibly comment in/enable WRT to event subscribers to eventBus instead of relying on direct dom action listener to apply button.
- updates to sidebar component, adding in aria attributes to allow for targeting via playwright scripts without relying on CSS selectors

* TERR-355
- added in checks on drag and drop nodes within the edit screen to confirm changes are actually made within edit mode scope
- removed unneeded import for RefreshEvent pending Apply button functionality for forcing refresh of render in view mode

* TERR-355
- final cleanup, removal of commented code and console.log invocations

* TERR-355
- restored package.json from main, leaving E2E testing to rely on Node 18
- updated Makefile to only execute E2E testing via Make explicitly
- updated development.md for documentation

* TERR-355
- removed uneeded type hinting for subscription in MapPanel
- updated docker-compose to utilize variable override when utilized
- removed unneeded semicolon

* TERR-355
- removed the duplication of functionality by removal of the DOM query selector and binding of the event listeneer.

* TERR-355
- fixed docker-compose yaml; missing hyphen before version in services.grafana.build.args.grafana_version

* TERR-355
- restored invocation of self.updateMap in MapPanel.constructor's subscription to topologyRefresh

* TERR-355
- removed use of aria-labelledby in generated renders of SideBar.component's toggle container
- replaced use of waitForSelector at end of test "confirm node changes upon clicking Grafana's Apply button" with locator
- removed some unused variables

* TERR-355
- restored SideBar to former rendering
- added marcusolsson-csv-datasource to services.grafana.environment in docker-compose.yaml
- updated auth.setup and plugin.spec to test in two diffent cases: before and after Grafana 10
- updated config.info.getHostInfo to detect version of grafana via Health API and to be async function
- updated usage of above globally to use await/async
- added fileId to e2e.config for google file
- removed some unused assigned variables
- added interfaces for Topology.interface, TopologyEdge.interface, and TopologyNode.interface
- wrapped data source creation in try-catch
- removed console.log invocation
- added more reliance on built in waits and ivocation of await upon expect for visibility checks
- removed deprecated version line from docker-compose.yaml
- added sleep line to test target in Makefile to allow for container spin-up
- simplified config.info.getGoogleSheetInfo fn to only fetch data flows URL
- added topologySheetUrl to e2e.config
- refactored folderDashboardInit to defer to existing dashboard if found
- added code to add in topology via API in folderDashboardInit.getFolderDashboardTargets
- added interfaces to help better match against Dashboard and DataSource JSON schema
- added mock.panel.json for mock panel
- added makeDashboard fn to create a default dashboard
- added fetches to get topology from
e2e.config specified URL
- removed Panel.interface
- removed unneeded import for IDataSource
- refactored initCSVDatasource fn out of folderDashboardInit module into grafana-api
module as fn createDatasource
- fixed population of panel data into dashboard object structure to agree with requirements of Grafana API updateDashboard
- updated mock.panel.json to contain layer options in order to agree with NetworkMapPanel schema requirements
- fixed missing title ref in plugin.spec test for load plugin edit page - view options
- removed unneeded console.log statements
-  replaced locator for show view controls in view options test
- additional notes added in docs/development.md
…workmap-panel into feat/TERR-362-e2e-upon-empty-grafana-instance
- restored original use of showViewControlGroup to create locator
(workaround is not valid solution)
- added E2E testing workflow for CI
- remove branches specification to trigger workflows on any push or PR, no matter the branch
- updated node-version in CI to 15.x to agree with package.json
- updated on in ci.yml to delimit push event and pull_request event specifiers
- updated on in ci.yml node version to 18 for setup, but to run using 15
- set ci.yml node version for run to 15
- removed version line from docker-compose.yaml as it is deprecated
- removed setup of node on 15, trying 18 only for both build and testing
- added setup of credentials.json to ci.yml
- fix badly echoed JSON from ci.yml on E2E
- refactor E2E script into additional steps for E2E dependencies, testing param setup, and invocation of E2E via make
- change minimum required version of node to 16 for build and component testing in ci.yml
- bumped min node version required to 16 in package.json
- readded min node version required of 18 for E2E testing in ci.yml
- fixed operator to redirect stdout in overwrite mode instead of append in setup E2E testing parameter step for CI task in ci.yml
- fixed invocation of install instead of test for npx playwright step (install e2e dependencies) in ci.yml
…b.com:esnet/grafana-esnet-networkmap-panel into feat/TERR-364-ci-github-actions-integration
- added --with-deps switch on npx playwright install
- added show report task after e2e testing
- updated playwright.config to use line reporter for output in CI mode instead of html
- removed show-report (use of playwright.config to setup line reporter nullifies need for invocation)
- fixed number of workers to 1 in all environments
- configured pluginTest to serial mode for all tests
- updated documentation WRT to node versions
- fixed CSV escaping from response in order to correct format for API invocation upon data source
- updated URL to fetch CSV data
- added removeRepeats function to test/utils
- updated YAML docker-compose to use infinity datasource grafana plugin
- reconfigured config.info.getGoogleSheetInfo fn to delegate all URL computation to e2e config
- refactored e2e.config fileId out and replaced with flowSheetUrl prop
- refactored folderDashboardInit.getFolderDashboardTargets to utilize
infinity datasource plugin and reconfigure type to TSV and data flow URL.
- simplified use of getGoogleSheetInfo in grafana-api.createDatasource
- updated mock.panel and networkMapPanel JSON to use infinity plugin instead of CSV data source.
- added ITarget interface to plugin-def
- updated INetworkMapPanel interface to use a Partial<IDataSource> interface for datasource prop
- added props url and queryType in object parameter when invoking getFolderDashboardTargets.
- added props url and queryType to INetworkPanelParams
- added in loading step prior to running test (might refactor into beforeEach later)
- finished first test for "on first render of a topology loaded from a remote URL - default should be gray"
- added BasicColors.enum
sanchezelton and others added 29 commits October 25, 2024 11:00
- reverted yarn.lock to revision from main branch
…coverage

test: [TERR-425] React Component Code Coverage and Error Validation
…JSON. Revert CustomTextArea to main. Use NormalModuleReplacementPlugin strategy to monkey patch @grafana/ui for test build. Move LAYER_LIMIT and DEFAULT_LAYER_LIMIT to constants.js. New signals for layer load success/failure. Add a number of tests: autodetect topology, switch between topology load methods, traffic accounting, more than 3 layers.
@jkafader-esnet jkafader-esnet merged commit 3e476e7 into main Nov 15, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants