1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
Go to file
Iku-turso a277cfcf02
Technical requirements for behavioural unit tests (#5084)
* Implement a lot of technical requirements for behavioural unit tests

Note: the crux of this was to make routing env-agnostic, and not based on URLs as magic strings, but instead something type-enforced.

Note: extension-based routes comply to same exact interface by "late-registering" their routes when installed. Routes are just injectables.

Note: another chunk of global shared state is no more.

Note: a lot of explicit side effects have been cornered to injectables.

Note: a lot of stuff has become reactive as part if this.

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make a directory commonly available

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Require id for <Select /> to prevent non-deterministic renders

This was caused by global state in a 3rd party lib: "react-select".

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Specify id for all <Select /> to satisfy previous commit

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Prevent explicit side effect in component by using existing dependency instead

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Extract instantiation of "conf" as injectables for causing side effects

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Introduce a legacy-helper to make gradual refactoring of inheritors of Singleton easier

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Make legacy unit tests for hotbar green and more simple by using the new legacy helper

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Temporarily kludge all unit tests green with a disclaimer about allowing side-effects

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Remove kludge in previous commit by explicitly permitting specific side effects where old unit tests require it

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Prevent old unit test with side effects from accessing file system

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Migrate to actual typing for di.permitSideEffects

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Prevent unit tests from failing because of non-standard method of HTML-element not present in js-dom

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Adapt integration tests to recent changes

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Fix code style

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Fix artifact from bad rebase

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Add a deprecation from a review comment

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Remove change that is not required

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove redundant comment

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix code style

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove redundant file

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix bad merge

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Improve variable name

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Tweak logger interface to be more descriptive

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make injecting legacy singleton always provide new instance

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove conditional typing when not needed

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Improve naming of variable

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove unnecessary code style changes

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove flag for causing side effects from too broad scope

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Override side-effects in unit test using injectable instead of monkey patching

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Flag some side-effects and add general overrides

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Fix unit tests in CI by removing explicit side-effect

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Remove explicit side-effect from getting default shell

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Introduce abstraction for getting absolute paths

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Switch to using abstraction for getting absolute path to control explicit side effect

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Introduce abstraction for joining paths

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Switch to using abstraction for joining paths to control explicit side effect

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix fake implementation for join paths

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix test after removing explicit side effect

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove explicit side effects from kubeconfig-syncs

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix arguments after removing explicit side effect

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make registrators not async for not being needed anymore

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Make generalCatalogEntities non-observable, as there is no requirement

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Remove redundant code

Co-authored-by: Mikko Aspiala <mikko.aspiala@gmail.com>

Signed-off-by: Iku-turso <mikko.aspiala@gmail.com>

* Simplify logic for registering general catalog entity sources

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Add TODO

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Replace function for getting application menu items with reactive solution

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Fix typo in interface name

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove global shared state usages of hot bar store

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

* Remove redundant enum

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>

Co-authored-by: Janne Savolainen <janne.savolainen@live.fi>
2022-03-31 16:57:05 +03:00
__mocks__ Upgrade to webpack@5 (#4894) 2022-02-25 10:20:06 -05:00
.github changed ownership of retry package (#4891) 2022-02-16 11:33:08 -05:00
.idea Merge remote-tracking branch 'origin/master' into eliminate-gst-from-app-paths 2022-01-11 13:56:23 +02:00
.vscode VSCode launch configurations for debugging (#2281) 2021-03-09 17:57:55 +02:00
build Consolidate downloading binaries into one script (#4942) 2022-03-09 17:51:51 -05:00
docs Fully support displaying all supported PodVolume types (#4131) 2022-03-28 09:04:15 -04:00
extensions Webpack quality of life improvements for dev mode (#4980) 2022-03-08 09:48:16 -05:00
integration Technical requirements for behavioural unit tests (#5084) 2022-03-31 16:57:05 +03:00
jsonnet/lens Update jsonnet folder structure to default bundler format (#536) 2021-03-23 08:12:40 -04:00
mkdocs Re-enable strict mode in docs vlidation. Bump mkdocs-material version (#3073) 2021-06-16 15:51:36 +01:00
scripts Release v5.0.0-beta.10 (#3141) 2021-06-22 11:09:51 +03:00
src Technical requirements for behavioural unit tests (#5084) 2022-03-31 16:57:05 +03:00
static Extensible welcome page (#2637) 2021-04-27 11:24:39 +03:00
templates/create-resource Add static Pod.yaml to templates (#4055) 2021-10-15 12:49:18 -04:00
test-data add cluster icon migration code (#673) 2020-08-25 16:42:30 +03:00
troubleshooting Update jsonnet folder structure to default bundler format (#536) 2021-03-23 08:12:40 -04:00
types TLS cert per cluster for lens-k8s-proxy (#5081) 2022-03-28 08:39:57 -04:00
.azure-pipelines-k8s-matrix.yml use ubuntu 18.04 for builds (#3877) 2021-09-23 15:14:24 +03:00
.azure-pipelines.yml use ubuntu 18.04 for builds (#3877) 2021-09-23 15:14:24 +03:00
.bundled-extensions.json Don't bundle extension with eula on default build (#2542) 2021-04-20 09:35:37 -04:00
.eslintrc.js Enforce some naming conventions (#4813) 2022-03-01 13:06:53 -05:00
.gitignore VSCode launch configurations for debugging (#2281) 2021-03-09 17:57:55 +02:00
.npmrc Add engine to strict node version in package.json (#144) 2020-03-23 16:31:28 +02:00
.yarnrc Upgrade to Electron 14.2.4 (#4625) 2022-01-27 10:23:36 -05:00
CODE_OF_CONDUCT.md Add contributing/development pages (#1480) 2020-11-23 11:37:30 +02:00
CONTRIBUTING.md Add contributing/development pages (#1480) 2020-11-23 11:37:30 +02:00
LICENSE Don't bundle extension with eula on default build (#2542) 2021-04-20 09:35:37 -04:00
license-header Shorten license header to reduce amount of clutter in top of the files (#4709) 2022-01-18 10:18:10 +02:00
Makefile Consolidate downloading binaries into one script (#4942) 2022-03-09 17:51:51 -05:00
mkdocs.yml Support extending KubernetesCluster in extensions (#4702) 2022-01-19 14:57:42 +02:00
package.json Technical requirements for behavioural unit tests (#5084) 2022-03-31 16:57:05 +03:00
README.md Don't bundle extension with eula on default build (#2542) 2021-04-20 09:35:37 -04:00
SECURITY.md Add security policy (#2387) 2021-03-25 17:19:45 +02:00
tailwind.config.js Shorten license header to reduce amount of clutter in top of the files (#4709) 2022-01-18 10:18:10 +02:00
tsconfig.json Updated typescript target to ES2019 (#4869) 2022-02-25 10:20:22 -05:00
typedoc.json Upgrade typedoc (#2940) 2021-06-07 09:51:43 -04:00
webpack.dev-server.ts Webpack quality of life improvements for dev mode (#4980) 2022-03-08 09:48:16 -05:00
webpack.extensions.ts Upgrade to webpack@5 (#4894) 2022-02-25 10:20:06 -05:00
webpack.main.ts Consolidate downloading binaries into one script (#4942) 2022-03-09 17:51:51 -05:00
webpack.renderer.ts Consolidate downloading binaries into one script (#4942) 2022-03-09 17:51:51 -05:00
yarn.lock Technical requirements for behavioural unit tests (#5084) 2022-03-31 16:57:05 +03:00

Lens Open Source Project (OpenLens)

Build Status Chat on Slack

The Repository

This repository ("OpenLens") is where Team Lens develops the Lens IDE product together with the community. It is backed by a number of Kubernetes and cloud native ecosystem pioneers. This source code is available to everyone under the MIT license.

Lens - The Kubernetes IDE

Lens - The Kubernetes IDE ("Lens IDE") is a distribution of the OpenLens repository with Team Lens specific customizations released under a traditional EULA.

Lens IDE provides the full situational awareness for everything that runs in Kubernetes. It's lowering the barrier of entry for people just getting started and radically improving productivity for people with more experience.

Lens IDE a standalone application for MacOS, Windows and Linux operating systems. You can download it free of charge for Windows, MacOS, and Linux from Lens IDE website.

Screenshot

Installation

See Getting Started page.

Development

See Development page.

Contributing

See Contributing page.