tadis-analyzer 2.4.1 → 2.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/app/code-pattern/main.d.ts +1 -0
- package/build/src/app/code-pattern/main.js +14 -0
- package/build/src/app/code-pattern/main.js.map +1 -0
- package/build/src/app/default/main.d.ts +1 -0
- package/build/src/app/default/main.js +15 -0
- package/build/src/app/default/main.js.map +1 -0
- package/build/src/app/error.d.ts +3 -0
- package/build/src/app/error.js +10 -0
- package/build/src/app/error.js.map +1 -0
- package/build/src/config/Config.module.d.ts +4 -0
- package/build/src/config/Config.module.js +28 -0
- package/build/src/config/Config.module.js.map +1 -0
- package/build/src/config/Config.service.d.ts +19 -0
- package/build/src/config/Config.service.js +105 -0
- package/build/src/config/Config.service.js.map +1 -0
- package/build/src/config/Config.service.test.d.ts +1 -0
- package/build/src/config/Config.service.test.js +33 -0
- package/build/src/config/Config.service.test.js.map +1 -0
- package/build/src/deprecated-modules/CommonTransformers.module.d.ts +5 -0
- package/build/src/deprecated-modules/CommonTransformers.module.js +34 -0
- package/build/src/deprecated-modules/CommonTransformers.module.js.map +1 -0
- package/build/src/deprecated-modules/Msa.module.d.ts +13 -0
- package/build/src/deprecated-modules/Msa.module.js +63 -0
- package/build/src/deprecated-modules/Msa.module.js.map +1 -0
- package/build/src/deprecated-modules/SourceCodeAnalysis.module.d.ts +6 -0
- package/build/src/deprecated-modules/SourceCodeAnalysis.module.js +60 -0
- package/build/src/deprecated-modules/SourceCodeAnalysis.module.js.map +1 -0
- package/build/src/git/Git.module.d.ts +5 -0
- package/build/src/git/Git.module.js +28 -0
- package/build/src/git/Git.module.js.map +1 -0
- package/build/src/git/GitStorage.controller.d.ts +17 -0
- package/build/src/git/GitStorage.controller.js +88 -0
- package/build/src/git/GitStorage.controller.js.map +1 -0
- package/build/src/git/GitStorage.controller.test.d.ts +1 -0
- package/build/src/git/GitStorage.controller.test.js +30 -0
- package/build/src/git/GitStorage.controller.test.js.map +1 -0
- package/build/src/git/GitStorage.d.ts +23 -0
- package/build/src/git/GitStorage.js +153 -0
- package/build/src/git/GitStorage.js.map +1 -0
- package/build/src/git/GitStorage.service.d.ts +10 -0
- package/build/src/git/GitStorage.service.js +36 -0
- package/build/src/git/GitStorage.service.js.map +1 -0
- package/build/src/git/SourceLocationDecorator.d.ts +12 -0
- package/build/src/git/SourceLocationDecorator.js +46 -0
- package/build/src/git/SourceLocationDecorator.js.map +1 -0
- package/build/src/git/SourceLocationDecorator.test.d.ts +1 -0
- package/build/src/git/SourceLocationDecorator.test.js +35 -0
- package/build/src/git/SourceLocationDecorator.test.js.map +1 -0
- package/build/src/lib.d.ts +21 -0
- package/build/src/lib.js +57 -0
- package/build/src/lib.js.map +1 -0
- package/build/src/model/core-typed.d.ts +21 -0
- package/build/src/model/core-typed.js +89 -0
- package/build/src/model/core-typed.js.map +1 -0
- package/build/src/model/core-typed.test.d.ts +1 -0
- package/build/src/model/core-typed.test.js +29 -0
- package/build/src/model/core-typed.test.js.map +1 -0
- package/build/src/model/core.d.ts +33 -0
- package/build/src/model/core.js +117 -0
- package/build/src/model/core.js.map +1 -0
- package/build/src/model/ms.d.ts +58 -0
- package/build/src/model/ms.js +83 -0
- package/build/src/model/ms.js.map +1 -0
- package/build/src/model/transport.d.ts +17 -0
- package/build/src/model/transport.js +20 -0
- package/build/src/model/transport.js.map +1 -0
- package/build/src/model/v1-legacy/model.d.ts +53 -0
- package/build/src/model/v1-legacy/model.js +85 -0
- package/build/src/model/v1-legacy/model.js.map +1 -0
- package/build/src/model/v1-legacy/v1-adapter.d.ts +3 -0
- package/build/src/model/v1-legacy/v1-adapter.js +68 -0
- package/build/src/model/v1-legacy/v1-adapter.js.map +1 -0
- package/build/src/model/v1-legacy/v1-adapter.test.d.ts +1 -0
- package/build/src/model/v1-legacy/v1-adapter.test.js +66 -0
- package/build/src/model/v1-legacy/v1-adapter.test.js.map +1 -0
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.d.ts +12 -0
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.js +107 -0
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.js.map +1 -0
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.test.d.ts +1 -0
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.test.js +111 -0
- package/build/src/post-processors/MicroserviceWithOutgoingExchangeMerger.test.js.map +1 -0
- package/build/src/post-processors/PostProcessors.module.d.ts +6 -0
- package/build/src/post-processors/PostProcessors.module.js +37 -0
- package/build/src/post-processors/PostProcessors.module.js.map +1 -0
- package/build/src/post-processors/PostProcessors.module.test.d.ts +1 -0
- package/build/src/post-processors/PostProcessors.module.test.js +23 -0
- package/build/src/post-processors/PostProcessors.module.test.js.map +1 -0
- package/build/src/post-processors/StaticNodeFilter.d.ts +9 -0
- package/build/src/post-processors/StaticNodeFilter.js +91 -0
- package/build/src/post-processors/StaticNodeFilter.js.map +1 -0
- package/build/src/post-processors/StaticNodeFilter.test.d.ts +1 -0
- package/build/src/post-processors/StaticNodeFilter.test.js +36 -0
- package/build/src/post-processors/StaticNodeFilter.test.js.map +1 -0
- package/build/src/post-processors/SubSystemFromPayloadTransformer.d.ts +13 -0
- package/build/src/post-processors/SubSystemFromPayloadTransformer.js +103 -0
- package/build/src/post-processors/SubSystemFromPayloadTransformer.js.map +1 -0
- package/build/src/post-processors/SubSystemFromPayloadTransformer.test.d.ts +1 -0
- package/build/src/post-processors/SubSystemFromPayloadTransformer.test.js +56 -0
- package/build/src/post-processors/SubSystemFromPayloadTransformer.test.js.map +1 -0
- package/build/src/system-assemblers/controllers/ISystemAssembler.d.ts +5 -0
- package/build/src/system-assemblers/controllers/ISystemAssembler.js +3 -0
- package/build/src/system-assemblers/controllers/ISystemAssembler.js.map +1 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.d.ts +19 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.js +95 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.js.map +1 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.d.ts +1 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.js +54 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.controller.test.js.map +1 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.module.d.ts +6 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.module.js +28 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.module.js.map +1 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.service.d.ts +6 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.service.js +24 -0
- package/build/src/system-assemblers/controllers/SystemAssembler.service.js.map +1 -0
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.d.ts +4 -0
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js +46 -0
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.module.js.map +1 -0
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.d.ts +16 -0
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js +53 -0
- package/build/src/system-assemblers/kubernetes-rabbitmq/KubernetesRabbitMqAssembler.service.js.map +1 -0
- package/build/src/system-element-extractors/env-variables/EnvVariables.module.d.ts +4 -0
- package/build/src/system-element-extractors/env-variables/EnvVariables.module.js +25 -0
- package/build/src/system-element-extractors/env-variables/EnvVariables.module.js.map +1 -0
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.d.ts +13 -0
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.js +64 -0
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.js.map +1 -0
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.d.ts +1 -0
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js +56 -0
- package/build/src/system-element-extractors/env-variables/ExchangesFromEnvPayloadCreator.test.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.d.ts +4 -0
- package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.js +26 -0
- package/build/src/system-element-extractors/experimental/code-pattern/CodePattern.module.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.d.ts +8 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js +54 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.controller.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.d.ts +10 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.js +345 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.d.ts +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.js +130 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.multiFile.test.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.d.ts +16 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.js +47 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.service.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.d.ts +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.js +177 -0
- package/build/src/system-element-extractors/experimental/code-pattern/PatternAnalyzer.singleFile.test.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.d.ts +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.js +3 -0
- package/build/src/system-element-extractors/experimental/code-pattern/behavior-model.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/model.d.ts +116 -0
- package/build/src/system-element-extractors/experimental/code-pattern/model.js +23 -0
- package/build/src/system-element-extractors/experimental/code-pattern/model.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.d.ts +8 -0
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.js +26 -0
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/pattern-dsl.js.map +1 -0
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.d.ts +0 -0
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.js +18 -0
- package/build/src/system-element-extractors/experimental/code-pattern/prototyping/regexp-test.js.map +1 -0
- package/build/src/system-element-extractors/java/Java.module.d.ts +4 -0
- package/build/src/system-element-extractors/java/Java.module.js +26 -0
- package/build/src/system-element-extractors/java/Java.module.js.map +1 -0
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.d.ts +35 -0
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.js +155 -0
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.js.map +1 -0
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.d.ts +1 -0
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.js +85 -0
- package/build/src/system-element-extractors/java/JavaAnnotationAnalyzer.test.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/Kubernetes.module.d.ts +7 -0
- package/build/src/system-element-extractors/kubernetes/Kubernetes.module.js +43 -0
- package/build/src/system-element-extractors/kubernetes/Kubernetes.module.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/api/api.service.d.ts +9 -0
- package/build/src/system-element-extractors/kubernetes/api/api.service.js +78 -0
- package/build/src/system-element-extractors/kubernetes/api/api.service.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.d.ts +10 -0
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js +80 -0
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.d.ts +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js +32 -0
- package/build/src/system-element-extractors/kubernetes/transformer/EnvDefinitionFromPodDecorator.test.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.d.ts +12 -0
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js +82 -0
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.d.ts +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js +30 -0
- package/build/src/system-element-extractors/kubernetes/transformer/LabelsFromDeploymentDecorator.test.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.d.ts +12 -0
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.js +67 -0
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.d.ts +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js +38 -0
- package/build/src/system-element-extractors/kubernetes/transformer/MicroservicesFromKubernetesCreator.test.js.map +1 -0
- package/build/src/system-element-extractors/kubernetes/transformer/testdata/api/deployments.json +256 -0
- package/build/src/system-element-extractors/kubernetes/transformer/testdata/api/pods.json +101 -0
- package/build/src/system-element-extractors/kubernetes/transformer/testdata/api/services.json +75 -0
- package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.d.ts +6 -0
- package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.js +38 -0
- package/build/src/system-element-extractors/rabbitmq/RabbitMq.module.js.map +1 -0
- package/build/src/system-element-extractors/rabbitmq/api/api.service.d.ts +11 -0
- package/build/src/system-element-extractors/rabbitmq/api/api.service.js +63 -0
- package/build/src/system-element-extractors/rabbitmq/api/api.service.js.map +1 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.d.ts +9 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js +117 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.js.map +1 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.d.ts +1 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js +43 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.js.map +1 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.d.ts +14 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js +117 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js.map +1 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.d.ts +1 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js +121 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.test.js.map +1 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/testdata/api/bindings.json +20 -0
- package/build/src/system-element-extractors/rabbitmq/transformer/testdata/api/queues.json +5 -0
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.d.ts +15 -0
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.js +131 -0
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.js.map +1 -0
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.d.ts +1 -0
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.js +54 -0
- package/build/src/system-element-extractors/spring-boot/FeignClientAnnotationAnalyzer.test.js.map +1 -0
- package/build/src/system-element-extractors/spring-boot/SpringBoot.module.d.ts +4 -0
- package/build/src/system-element-extractors/spring-boot/SpringBoot.module.js +25 -0
- package/build/src/system-element-extractors/spring-boot/SpringBoot.module.js.map +1 -0
- package/build/src/test/expect-extensions.d.ts +7 -0
- package/build/src/test/expect-extensions.js +20 -0
- package/build/src/test/expect-extensions.js.map +1 -0
- package/build/src/test/verifiers.d.ts +4 -0
- package/build/src/test/verifiers.js +19 -0
- package/build/src/test/verifiers.js.map +1 -0
- package/build/src/utils/files/analysis.d.ts +30 -0
- package/build/src/utils/files/analysis.js +109 -0
- package/build/src/utils/files/analysis.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"statusCode": 200,
|
|
3
|
+
"body": {
|
|
4
|
+
"kind": "ServiceList",
|
|
5
|
+
"apiVersion": "v1",
|
|
6
|
+
"metadata": {
|
|
7
|
+
"selfLink": "/api/v1/namespaces/test-ns/services",
|
|
8
|
+
"resourceVersion": "2417410"
|
|
9
|
+
},
|
|
10
|
+
"items": [
|
|
11
|
+
{
|
|
12
|
+
"metadata": {
|
|
13
|
+
"name": "test-microservice",
|
|
14
|
+
"namespace": "test-ns",
|
|
15
|
+
"uid": "123",
|
|
16
|
+
"resourceVersion": "2398456",
|
|
17
|
+
"labels": {
|
|
18
|
+
"app": "test-microservice",
|
|
19
|
+
"chart": "xms-1.1",
|
|
20
|
+
"heritage": "Tiller",
|
|
21
|
+
"release": "test-ns"
|
|
22
|
+
},
|
|
23
|
+
"annotations": {
|
|
24
|
+
"prometheus.io/path": "/prometheus",
|
|
25
|
+
"prometheus.io/port": "8080",
|
|
26
|
+
"prometheus.io/scrape": "true"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"spec": {
|
|
30
|
+
"ports": [
|
|
31
|
+
{
|
|
32
|
+
"protocol": "TCP",
|
|
33
|
+
"port": 8080,
|
|
34
|
+
"targetPort": 8080
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"status": {
|
|
39
|
+
"loadBalancer": {}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"metadata": {
|
|
44
|
+
"name": "test-microservice-without-pod",
|
|
45
|
+
"namespace": "test-ns",
|
|
46
|
+
"uid": "123",
|
|
47
|
+
"resourceVersion": "2398456",
|
|
48
|
+
"labels": {
|
|
49
|
+
"app": "test-microservice",
|
|
50
|
+
"chart": "xms-1.1",
|
|
51
|
+
"heritage": "Tiller",
|
|
52
|
+
"release": "test-ns"
|
|
53
|
+
},
|
|
54
|
+
"annotations": {
|
|
55
|
+
"prometheus.io/path": "/prometheus",
|
|
56
|
+
"prometheus.io/port": "8080",
|
|
57
|
+
"prometheus.io/scrape": "true"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"spec": {
|
|
61
|
+
"ports": [
|
|
62
|
+
{
|
|
63
|
+
"protocol": "TCP",
|
|
64
|
+
"port": 8080,
|
|
65
|
+
"targetPort": 8080
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"status": {
|
|
70
|
+
"loadBalancer": {}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RabbitMqManagementApiService } from './api/api.service';
|
|
2
|
+
import { RabbitMqBindingsFromApiAnalyzer } from './transformer/RabbitMqBindingsFromApiAnalyzer';
|
|
3
|
+
import { OutgoingExchangesFromSourceCreator } from './transformer/OutgoingExchangesFromSourceCreator';
|
|
4
|
+
declare class RabbitMqModule {
|
|
5
|
+
}
|
|
6
|
+
export { RabbitMqModule, RabbitMqManagementApiService, RabbitMqBindingsFromApiAnalyzer, OutgoingExchangesFromSourceCreator };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.OutgoingExchangesFromSourceCreator = exports.RabbitMqBindingsFromApiAnalyzer = exports.RabbitMqManagementApiService = exports.RabbitMqModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const axios_1 = require("@nestjs/axios");
|
|
12
|
+
const api_service_1 = require("./api/api.service");
|
|
13
|
+
Object.defineProperty(exports, "RabbitMqManagementApiService", { enumerable: true, get: function () { return api_service_1.RabbitMqManagementApiService; } });
|
|
14
|
+
const Config_module_1 = require("../../config/Config.module");
|
|
15
|
+
const RabbitMqBindingsFromApiAnalyzer_1 = require("./transformer/RabbitMqBindingsFromApiAnalyzer");
|
|
16
|
+
Object.defineProperty(exports, "RabbitMqBindingsFromApiAnalyzer", { enumerable: true, get: function () { return RabbitMqBindingsFromApiAnalyzer_1.RabbitMqBindingsFromApiAnalyzer; } });
|
|
17
|
+
const OutgoingExchangesFromSourceCreator_1 = require("./transformer/OutgoingExchangesFromSourceCreator");
|
|
18
|
+
Object.defineProperty(exports, "OutgoingExchangesFromSourceCreator", { enumerable: true, get: function () { return OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator; } });
|
|
19
|
+
let RabbitMqModule = class RabbitMqModule {
|
|
20
|
+
};
|
|
21
|
+
RabbitMqModule = __decorate([
|
|
22
|
+
(0, common_1.Module)({
|
|
23
|
+
imports: [Config_module_1.ConfigModule, axios_1.HttpModule],
|
|
24
|
+
controllers: [],
|
|
25
|
+
providers: [
|
|
26
|
+
api_service_1.RabbitMqManagementApiService,
|
|
27
|
+
RabbitMqBindingsFromApiAnalyzer_1.RabbitMqBindingsFromApiAnalyzer,
|
|
28
|
+
OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator
|
|
29
|
+
],
|
|
30
|
+
exports: [
|
|
31
|
+
api_service_1.RabbitMqManagementApiService,
|
|
32
|
+
RabbitMqBindingsFromApiAnalyzer_1.RabbitMqBindingsFromApiAnalyzer,
|
|
33
|
+
OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator
|
|
34
|
+
]
|
|
35
|
+
})
|
|
36
|
+
], RabbitMqModule);
|
|
37
|
+
exports.RabbitMqModule = RabbitMqModule;
|
|
38
|
+
//# sourceMappingURL=RabbitMq.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RabbitMq.module.js","sourceRoot":"","sources":["../../../../src/system-element-extractors/rabbitmq/RabbitMq.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAuC;AACvC,yCAA0C;AAE1C,mDAAgE;AAuB9D,6GAvBO,0CAA4B,OAuBP;AAtB9B,8DAAyD;AACzD,mGAA+F;AAsB7F,gHAtBO,iEAA+B,OAsBP;AArBjC,yGAAqG;AAsBnG,mHAtBO,uEAAkC,OAsBP;AANpC,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,cAAc;IAdnB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,EAAE,kBAAU,CAAC;QACnC,WAAW,EAAE,EAAE;QACf,SAAS,EAAE;YACT,0CAA4B;YAC5B,iEAA+B;YAC/B,uEAAkC;SACnC;QACD,OAAO,EAAE;YACP,0CAA4B;YAC5B,iEAA+B;YAC/B,uEAAkC;SACnC;KACF,CAAC;GACI,cAAc,CAAG;AAGrB,wCAAc"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HttpService } from '@nestjs/axios';
|
|
2
|
+
import { ConfigService } from '../../../config/Config.service';
|
|
3
|
+
export declare class RabbitMqManagementApiService {
|
|
4
|
+
private config;
|
|
5
|
+
private httpService;
|
|
6
|
+
private readonly logger;
|
|
7
|
+
constructor(config: ConfigService, httpService: HttpService);
|
|
8
|
+
getQueues(): Promise<any>;
|
|
9
|
+
getBindings(queueName: string): Promise<any[]>;
|
|
10
|
+
private getData;
|
|
11
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var RabbitMqManagementApiService_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.RabbitMqManagementApiService = void 0;
|
|
14
|
+
const axios_1 = require("@nestjs/axios");
|
|
15
|
+
const common_1 = require("@nestjs/common");
|
|
16
|
+
const Config_service_1 = require("../../../config/Config.service");
|
|
17
|
+
let RabbitMqManagementApiService = RabbitMqManagementApiService_1 = class RabbitMqManagementApiService {
|
|
18
|
+
constructor(config, httpService) {
|
|
19
|
+
this.config = config;
|
|
20
|
+
this.httpService = httpService;
|
|
21
|
+
this.logger = new common_1.Logger(RabbitMqManagementApiService_1.name);
|
|
22
|
+
}
|
|
23
|
+
async getQueues() {
|
|
24
|
+
const url = this.config.getRabbitUrl() + '/api/queues/';
|
|
25
|
+
this.logger.log('get queues from url ' + url);
|
|
26
|
+
return this.getData(url);
|
|
27
|
+
}
|
|
28
|
+
async getBindings(queueName) {
|
|
29
|
+
const vhost = '/';
|
|
30
|
+
const url = this.config.getRabbitUrl() +
|
|
31
|
+
'/api/queues/' +
|
|
32
|
+
encodeURIComponent(vhost) +
|
|
33
|
+
'/' +
|
|
34
|
+
encodeURIComponent(queueName) +
|
|
35
|
+
'/bindings/';
|
|
36
|
+
this.logger.log('get bindings for ' + queueName + ' from url ' + url);
|
|
37
|
+
return this.getData(url);
|
|
38
|
+
}
|
|
39
|
+
async getData(url) {
|
|
40
|
+
var _a;
|
|
41
|
+
const axiosConfig = {
|
|
42
|
+
auth: {
|
|
43
|
+
username: this.config.getRabbitUser(),
|
|
44
|
+
password: this.config.getRabbitPassword()
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
try {
|
|
48
|
+
const response = await this.httpService.axiosRef.get(url, axiosConfig);
|
|
49
|
+
return response.data;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
this.logger.error(`sending request failed for user: ${(_a = axiosConfig === null || axiosConfig === void 0 ? void 0 : axiosConfig.auth) === null || _a === void 0 ? void 0 : _a.username}`);
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
RabbitMqManagementApiService = RabbitMqManagementApiService_1 = __decorate([
|
|
58
|
+
(0, common_1.Injectable)(),
|
|
59
|
+
__metadata("design:paramtypes", [Config_service_1.ConfigService,
|
|
60
|
+
axios_1.HttpService])
|
|
61
|
+
], RabbitMqManagementApiService);
|
|
62
|
+
exports.RabbitMqManagementApiService = RabbitMqManagementApiService;
|
|
63
|
+
//# sourceMappingURL=api.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.service.js","sourceRoot":"","sources":["../../../../../src/system-element-extractors/rabbitmq/api/api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,yCAA2C;AAC3C,2CAAmD;AACnD,mEAA8D;AAIvD,IAAM,4BAA4B,oCAAlC,MAAM,4BAA4B;IAGvC,YACU,MAAqB,EACrB,WAAwB;QADxB,WAAM,GAAN,MAAM,CAAe;QACrB,gBAAW,GAAX,WAAW,CAAa;QAJjB,WAAM,GAAG,IAAI,eAAM,CAAC,8BAA4B,CAAC,IAAI,CAAC,CAAA;IAKpE,CAAC;IAEG,KAAK,CAAC,SAAS;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,cAAc,CAAA;QACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAEM,KAAK,CAAC,WAAW,CAAC,SAAiB;QACxC,MAAM,KAAK,GAAG,GAAG,CAAA;QAEjB,MAAM,GAAG,GACP,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;YAC1B,cAAc;YACd,kBAAkB,CAAC,KAAK,CAAC;YACzB,GAAG;YACH,kBAAkB,CAAC,SAAS,CAAC;YAC7B,YAAY,CAAA;QAEd,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,GAAG,SAAS,GAAG,YAAY,GAAG,GAAG,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,GAAG;;QACvB,MAAM,WAAW,GAAG;YAClB,IAAI,EAAE;gBACJ,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBACrC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;aAC1C;SACF,CAAA;QAED,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;YACtE,OAAO,QAAQ,CAAC,IAAI,CAAA;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,oCAAoC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,0CAAE,QAAQ,EAAE,CAClE,CAAA;YACD,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF,CAAA;AA/CY,4BAA4B;IADxC,IAAA,mBAAU,GAAE;qCAKO,8BAAa;QACR,mBAAW;GALvB,4BAA4B,CA+CxC;AA/CY,oEAA4B"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ConfigService } from '../../../config/Config.service';
|
|
2
|
+
import { System } from '../../../model/ms';
|
|
3
|
+
export declare class OutgoingExchangesFromSourceCreator {
|
|
4
|
+
private readonly config;
|
|
5
|
+
private readonly logger;
|
|
6
|
+
constructor(config: ConfigService);
|
|
7
|
+
transform(system: System): Promise<System>;
|
|
8
|
+
private scanPathForExchangesInSendConfigurations;
|
|
9
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
|
+
};
|
|
34
|
+
var OutgoingExchangesFromSourceCreator_1;
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.OutgoingExchangesFromSourceCreator = void 0;
|
|
37
|
+
const common_1 = require("@nestjs/common");
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const analysis_1 = require("../../../utils/files/analysis");
|
|
40
|
+
const Config_service_1 = require("../../../config/Config.service");
|
|
41
|
+
const ms_1 = require("../../../model/ms");
|
|
42
|
+
const fileEndingToAnalyze = '.java';
|
|
43
|
+
const fileNameToAnalyzeMustInclude = 'send';
|
|
44
|
+
const pathToAnalyzeMustNotInclude = 'migration';
|
|
45
|
+
let OutgoingExchangesFromSourceCreator = OutgoingExchangesFromSourceCreator_1 = class OutgoingExchangesFromSourceCreator {
|
|
46
|
+
constructor(config) {
|
|
47
|
+
this.config = config;
|
|
48
|
+
this.logger = new common_1.Logger(OutgoingExchangesFromSourceCreator_1.name);
|
|
49
|
+
}
|
|
50
|
+
async transform(system) {
|
|
51
|
+
const scanResults = await this.scanPathForExchangesInSendConfigurations(this.config.getSourceFolder());
|
|
52
|
+
for (const scanResult of scanResults) {
|
|
53
|
+
const metadata = {
|
|
54
|
+
transformer: OutgoingExchangesFromSourceCreator_1.name,
|
|
55
|
+
context: 'service ' + scanResult.serviceName
|
|
56
|
+
};
|
|
57
|
+
const sourceService = system.addMicroService(scanResult.serviceName, undefined, metadata);
|
|
58
|
+
const targetExchange = system.addMessageExchange(scanResult.exchangeName, undefined, metadata);
|
|
59
|
+
const eventFlow = new ms_1.AsyncEventFlow(sourceService, targetExchange, undefined, metadata);
|
|
60
|
+
system.edges.push(eventFlow);
|
|
61
|
+
this.logger.log(`added async event flow: ${sourceService.getPayload().name} -> ${targetExchange.getPayload().name}`);
|
|
62
|
+
}
|
|
63
|
+
return system;
|
|
64
|
+
}
|
|
65
|
+
async scanPathForExchangesInSendConfigurations(path) {
|
|
66
|
+
this.logger.log('scanning for exchange in ' + path);
|
|
67
|
+
const filesToAnalyze = await (0, analysis_1.findFiles)(path, [fileEndingToAnalyze], undefined);
|
|
68
|
+
this.logger.log('found ' +
|
|
69
|
+
filesToAnalyze.length +
|
|
70
|
+
' files which end with ' +
|
|
71
|
+
fileEndingToAnalyze);
|
|
72
|
+
const sendConfigurations = [];
|
|
73
|
+
filesToAnalyze
|
|
74
|
+
.filter((file) => (0, analysis_1.isNoSourceOfThisProject)(file) && isSendConfiguration(file))
|
|
75
|
+
.forEach((file) => {
|
|
76
|
+
const exchangeNames = parseExchangeVariables(file);
|
|
77
|
+
exchangeNames.forEach((exchangeName) => {
|
|
78
|
+
const serviceName = (0, analysis_1.getServiceNameFromPath)(path, file);
|
|
79
|
+
sendConfigurations.push({ file, serviceName, exchangeName });
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
this.logger.log('found ' + sendConfigurations.length + ' send configuration');
|
|
83
|
+
return sendConfigurations;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
OutgoingExchangesFromSourceCreator = OutgoingExchangesFromSourceCreator_1 = __decorate([
|
|
87
|
+
(0, common_1.Injectable)(),
|
|
88
|
+
__metadata("design:paramtypes", [Config_service_1.ConfigService])
|
|
89
|
+
], OutgoingExchangesFromSourceCreator);
|
|
90
|
+
exports.OutgoingExchangesFromSourceCreator = OutgoingExchangesFromSourceCreator;
|
|
91
|
+
function isSendConfiguration(file) {
|
|
92
|
+
return (getFileNameWithoutPath(file)
|
|
93
|
+
.toLowerCase()
|
|
94
|
+
.includes(fileNameToAnalyzeMustInclude) &&
|
|
95
|
+
!file.toLowerCase().includes(pathToAnalyzeMustNotInclude) &&
|
|
96
|
+
isNotPartOfTestInSourceProject(file));
|
|
97
|
+
}
|
|
98
|
+
function isNotPartOfTestInSourceProject(file) {
|
|
99
|
+
// TODO: make this configurable
|
|
100
|
+
return !file.toLowerCase().includes('test') || process.env.NODE_ENV === 'test';
|
|
101
|
+
}
|
|
102
|
+
function parseExchangeVariables(file) {
|
|
103
|
+
const exchangeNames = [];
|
|
104
|
+
const pattern = /exchange[\w]*[\s]*=\s*"(\w+)"/gi;
|
|
105
|
+
const fileContent = fs.readFileSync(file, 'utf8');
|
|
106
|
+
let matches = pattern.exec(fileContent);
|
|
107
|
+
while (matches != null) {
|
|
108
|
+
exchangeNames.push(matches[1]);
|
|
109
|
+
matches = pattern.exec(fileContent);
|
|
110
|
+
}
|
|
111
|
+
return exchangeNames;
|
|
112
|
+
}
|
|
113
|
+
function getFileNameWithoutPath(fileLocation) {
|
|
114
|
+
const lastSlashIndex = fileLocation.lastIndexOf('/');
|
|
115
|
+
return fileLocation.slice(lastSlashIndex + 1);
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=OutgoingExchangesFromSourceCreator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutgoingExchangesFromSourceCreator.js","sourceRoot":"","sources":["../../../../../src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const testing_1 = require("@nestjs/testing");
|
|
4
|
+
const Config_service_1 = require("../../../config/Config.service");
|
|
5
|
+
const ms_1 = require("../../../model/ms");
|
|
6
|
+
const OutgoingExchangesFromSourceCreator_1 = require("./OutgoingExchangesFromSourceCreator");
|
|
7
|
+
const verifiers_1 = require("../../../test/verifiers");
|
|
8
|
+
describe(OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator.name, () => {
|
|
9
|
+
let app;
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
process.env.NODE_ENV = 'test';
|
|
12
|
+
});
|
|
13
|
+
beforeAll(async () => {
|
|
14
|
+
app = await testing_1.Test.createTestingModule({
|
|
15
|
+
controllers: [],
|
|
16
|
+
providers: [Config_service_1.ConfigService, OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator]
|
|
17
|
+
}).compile();
|
|
18
|
+
const config = app.get(Config_service_1.ConfigService);
|
|
19
|
+
jest.spyOn(config, 'getSourceFolder').mockImplementation(() => __dirname + '/testdata/source-folder');
|
|
20
|
+
});
|
|
21
|
+
it('transforms', async () => {
|
|
22
|
+
const inputSystem = new ms_1.System('test');
|
|
23
|
+
const addExchangesFormSourceStep = app.get(OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator);
|
|
24
|
+
const outputSystem = await addExchangesFormSourceStep.transform(inputSystem);
|
|
25
|
+
expect(outputSystem).not.toBeNull();
|
|
26
|
+
expect(outputSystem.getMicroServices()).toHaveLength(1);
|
|
27
|
+
expect(outputSystem.getMessageExchanges()).toHaveLength(2);
|
|
28
|
+
const exchangeNames = outputSystem.getMessageExchanges().map(exchange => exchange.getPayload().name);
|
|
29
|
+
expect(exchangeNames).toContainEqual('exchangeInSource1');
|
|
30
|
+
expect(exchangeNames).toContainEqual('exchangeInSource2');
|
|
31
|
+
(0, verifiers_1.verifyEachContentHasTransformer)(outputSystem, OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator.name);
|
|
32
|
+
});
|
|
33
|
+
it('ignores source found in current project when not run in test mode', async () => {
|
|
34
|
+
process.env.NODE_ENV = 'non-test';
|
|
35
|
+
const inputSystem = new ms_1.System('test');
|
|
36
|
+
const addExchangesFormSourceStep = app.get(OutgoingExchangesFromSourceCreator_1.OutgoingExchangesFromSourceCreator);
|
|
37
|
+
const outputSystem = await addExchangesFormSourceStep.transform(inputSystem);
|
|
38
|
+
expect(outputSystem).not.toBeNull();
|
|
39
|
+
expect(outputSystem.getMicroServices()).toHaveLength(0);
|
|
40
|
+
expect(outputSystem.getMessageExchanges()).toHaveLength(0);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=OutgoingExchangesFromSourceCreator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutgoingExchangesFromSourceCreator.test.js","sourceRoot":"","sources":["../../../../../src/system-element-extractors/rabbitmq/transformer/OutgoingExchangesFromSourceCreator.test.ts"],"names":[],"mappings":";;AAAA,6CAAqD;AAErD,mEAA8D;AAE9D,0CAA0C;AAC1C,6FAAyF;AACzF,uDAAyE;AAEzE,QAAQ,CAAC,uEAAkC,CAAC,IAAI,EAAE,GAAG,EAAE;IACrD,IAAI,GAAkB,CAAA;IAEtB,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,KAAK,IAAG,EAAE;QAClB,GAAG,GAAG,MAAM,cAAI,CAAC,mBAAmB,CAAC;YACnC,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,CAAC,8BAAa,EAAE,uEAAkC,CAAC;SAC/D,CAAC,CAAC,OAAO,EAAE,CAAA;QAEZ,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAgB,8BAAa,CAAC,CAAA;QACpD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,kBAAkB,CACtD,GAAG,EAAE,CAAC,SAAS,GAAG,yBAAyB,CAC5C,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,YAAY,EAAE,KAAK,IAAG,EAAE;QACzB,MAAM,WAAW,GAAG,IAAI,WAAM,CAAC,MAAM,CAAC,CAAA;QAEtC,MAAM,0BAA0B,GAAG,GAAG,CAAC,GAAG,CAAqC,uEAAkC,CAAC,CAAA;QAClH,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAE5E,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEnC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC1D,MAAM,aAAa,GAAG,YAAY,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAA;QACpG,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;QACzD,MAAM,CAAC,aAAa,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAA;QAEzD,IAAA,2CAA+B,EAAC,YAAY,EAAE,uEAAkC,CAAC,IAAI,CAAC,CAAA;IACxF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAG,EAAE;QAChF,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAA;QAEjC,MAAM,WAAW,GAAG,IAAI,WAAM,CAAC,MAAM,CAAC,CAAA;QAEtC,MAAM,0BAA0B,GAAG,GAAG,CAAC,GAAG,CAAqC,uEAAkC,CAAC,CAAA;QAClH,MAAM,YAAY,GAAG,MAAM,0BAA0B,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAE5E,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;QAEnC,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ConfigService } from '../../../config/Config.service';
|
|
2
|
+
import { System } from '../../../model/ms';
|
|
3
|
+
import { RabbitMqManagementApiService } from '../api/api.service';
|
|
4
|
+
export declare class RabbitMqBindingsFromApiAnalyzer {
|
|
5
|
+
private readonly config;
|
|
6
|
+
private readonly apiService;
|
|
7
|
+
private readonly logger;
|
|
8
|
+
constructor(config: ConfigService, apiService: RabbitMqManagementApiService);
|
|
9
|
+
transform(system: System): Promise<System>;
|
|
10
|
+
private getQueueNames;
|
|
11
|
+
private addEdgesFromBindings;
|
|
12
|
+
private ensureTargetNodeExists;
|
|
13
|
+
private getBindings;
|
|
14
|
+
}
|
package/build/src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
25
|
+
if (mod && mod.__esModule) return mod;
|
|
26
|
+
var result = {};
|
|
27
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
28
|
+
__setModuleDefault(result, mod);
|
|
29
|
+
return result;
|
|
30
|
+
};
|
|
31
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
32
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
33
|
+
};
|
|
34
|
+
var RabbitMqBindingsFromApiAnalyzer_1;
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.RabbitMqBindingsFromApiAnalyzer = void 0;
|
|
37
|
+
const common_1 = require("@nestjs/common");
|
|
38
|
+
const _ = __importStar(require("lodash"));
|
|
39
|
+
const Config_service_1 = require("../../../config/Config.service");
|
|
40
|
+
const ms_1 = require("../../../model/ms");
|
|
41
|
+
const api_service_1 = require("../api/api.service");
|
|
42
|
+
// this analyzer assumes that a queue starts with the name of the microservice
|
|
43
|
+
// which the queue belongs to. after the microservice name the delimiter below follows.
|
|
44
|
+
const microServiceNameDelimiter = '.';
|
|
45
|
+
let RabbitMqBindingsFromApiAnalyzer = RabbitMqBindingsFromApiAnalyzer_1 = class RabbitMqBindingsFromApiAnalyzer {
|
|
46
|
+
constructor(config, apiService) {
|
|
47
|
+
this.config = config;
|
|
48
|
+
this.apiService = apiService;
|
|
49
|
+
this.logger = new common_1.Logger(RabbitMqBindingsFromApiAnalyzer_1.name);
|
|
50
|
+
}
|
|
51
|
+
async transform(system) {
|
|
52
|
+
const queueNames = await this.getQueueNames();
|
|
53
|
+
const bindingsPromises = queueNames.map(queue => this.getBindings(queue));
|
|
54
|
+
const bindings = await Promise.all(bindingsPromises);
|
|
55
|
+
const allBindings = _.flatMap(bindings);
|
|
56
|
+
this.addEdgesFromBindings(system, allBindings);
|
|
57
|
+
return system;
|
|
58
|
+
}
|
|
59
|
+
async getQueueNames() {
|
|
60
|
+
const queues = await this.apiService.getQueues();
|
|
61
|
+
if (!queues)
|
|
62
|
+
return [];
|
|
63
|
+
return queues.map(queue => { return queue.name; });
|
|
64
|
+
}
|
|
65
|
+
addEdgesFromBindings(system, bindings) {
|
|
66
|
+
bindings
|
|
67
|
+
.filter(binding => binding.exchange !== '')
|
|
68
|
+
.forEach(binding => {
|
|
69
|
+
const metadata = {
|
|
70
|
+
transformer: RabbitMqBindingsFromApiAnalyzer_1.name,
|
|
71
|
+
context: 'queue ' + binding.queue + ' bound to exchange ' + binding.exchange
|
|
72
|
+
};
|
|
73
|
+
const sourceExchangName = binding.exchange;
|
|
74
|
+
const sourceExchange = system.addMessageExchange(sourceExchangName, undefined, metadata);
|
|
75
|
+
const targetNode = this.ensureTargetNodeExists(binding, system);
|
|
76
|
+
system.edges.push(new ms_1.AsyncEventFlow(sourceExchange, targetNode, undefined, metadata));
|
|
77
|
+
this.logger.log('added async event flow: message exchange ' + sourceExchangName + ' -> microservice ' + targetNode.getName());
|
|
78
|
+
});
|
|
79
|
+
return system;
|
|
80
|
+
}
|
|
81
|
+
ensureTargetNodeExists(binding, system) {
|
|
82
|
+
if (binding.queue.indexOf(microServiceNameDelimiter) >= 0) {
|
|
83
|
+
const queuePrefix = binding.queue.substring(0, binding.queue.indexOf(microServiceNameDelimiter));
|
|
84
|
+
const existingService = system.findMicroService(queuePrefix);
|
|
85
|
+
if (existingService) {
|
|
86
|
+
return existingService;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const metadata = {
|
|
90
|
+
transformer: RabbitMqBindingsFromApiAnalyzer_1.name,
|
|
91
|
+
context: 'queue ' + binding.queue + ' bound to exchange ' + binding.exchange
|
|
92
|
+
};
|
|
93
|
+
const targetNodeName = binding.queue;
|
|
94
|
+
const queueNode = system.addOrExtendNamedNode(ms_1.MessageQueue, targetNodeName, undefined, metadata);
|
|
95
|
+
return queueNode;
|
|
96
|
+
}
|
|
97
|
+
async getBindings(queueName) {
|
|
98
|
+
const bindingsData = await this.apiService.getBindings(queueName);
|
|
99
|
+
const bindings = bindingsData.filter(element => element.source !== '')
|
|
100
|
+
.map(element => {
|
|
101
|
+
const binding = {
|
|
102
|
+
'exchange': element.source,
|
|
103
|
+
'queue': queueName
|
|
104
|
+
};
|
|
105
|
+
this.logger.log('found binding of queue ' + binding.queue + ' to exchange ' + binding.exchange);
|
|
106
|
+
return binding;
|
|
107
|
+
});
|
|
108
|
+
return bindings;
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
RabbitMqBindingsFromApiAnalyzer = RabbitMqBindingsFromApiAnalyzer_1 = __decorate([
|
|
112
|
+
(0, common_1.Injectable)(),
|
|
113
|
+
__metadata("design:paramtypes", [Config_service_1.ConfigService,
|
|
114
|
+
api_service_1.RabbitMqManagementApiService])
|
|
115
|
+
], RabbitMqBindingsFromApiAnalyzer);
|
|
116
|
+
exports.RabbitMqBindingsFromApiAnalyzer = RabbitMqBindingsFromApiAnalyzer;
|
|
117
|
+
//# sourceMappingURL=RabbitMqBindingsFromApiAnalyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RabbitMqBindingsFromApiAnalyzer.js","sourceRoot":"","sources":["../../../../../src/system-element-extractors/rabbitmq/transformer/RabbitMqBindingsFromApiAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|