port-ocean 0.27.9__py3-none-any.whl → 0.27.10__py3-none-any.whl
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.
- port_ocean/clients/port/authentication.py +2 -0
- port_ocean/clients/port/client.py +5 -2
- port_ocean/clients/port/mixins/integrations.py +1 -1
- port_ocean/config/settings.py +1 -1
- port_ocean/ocean.py +11 -12
- port_ocean/tests/core/conftest.py +7 -1
- port_ocean/tests/core/handlers/mixins/test_live_events.py +23 -13
- port_ocean/tests/core/handlers/webhook/test_processor_manager.py +32 -27
- port_ocean/tests/helpers/port_client.py +1 -0
- {port_ocean-0.27.9.dist-info → port_ocean-0.27.10.dist-info}/METADATA +1 -1
- {port_ocean-0.27.9.dist-info → port_ocean-0.27.10.dist-info}/RECORD +14 -14
- {port_ocean-0.27.9.dist-info → port_ocean-0.27.10.dist-info}/LICENSE.md +0 -0
- {port_ocean-0.27.9.dist-info → port_ocean-0.27.10.dist-info}/WHEEL +0 -0
- {port_ocean-0.27.9.dist-info → port_ocean-0.27.10.dist-info}/entry_points.txt +0 -0
@@ -35,6 +35,7 @@ class PortAuthentication:
|
|
35
35
|
integration_identifier: str,
|
36
36
|
integration_type: str,
|
37
37
|
integration_version: str,
|
38
|
+
ingest_url: str,
|
38
39
|
):
|
39
40
|
self.client = client
|
40
41
|
self.api_url = api_url
|
@@ -43,6 +44,7 @@ class PortAuthentication:
|
|
43
44
|
self.integration_identifier = integration_identifier
|
44
45
|
self.integration_type = integration_type
|
45
46
|
self.integration_version = integration_version
|
47
|
+
self.ingest_url = ingest_url
|
46
48
|
self.last_token_object: TokenResponse | None = None
|
47
49
|
|
48
50
|
async def _get_token(self, client_id: str, client_secret: str) -> TokenResponse:
|
@@ -1,3 +1,5 @@
|
|
1
|
+
from typing import Any
|
2
|
+
|
1
3
|
from loguru import logger
|
2
4
|
|
3
5
|
from port_ocean.clients.port.authentication import PortAuthentication
|
@@ -10,11 +12,10 @@ from port_ocean.clients.port.types import (
|
|
10
12
|
KafkaCreds,
|
11
13
|
)
|
12
14
|
from port_ocean.clients.port.utils import (
|
13
|
-
handle_port_status_code,
|
14
15
|
get_internal_http_client,
|
16
|
+
handle_port_status_code,
|
15
17
|
)
|
16
18
|
from port_ocean.exceptions.clients import KafkaCredentialsNotFound
|
17
|
-
from typing import Any
|
18
19
|
|
19
20
|
|
20
21
|
class PortClient(
|
@@ -32,6 +33,7 @@ class PortClient(
|
|
32
33
|
integration_identifier: str,
|
33
34
|
integration_type: str,
|
34
35
|
integration_version: str,
|
36
|
+
ingest_url: str,
|
35
37
|
):
|
36
38
|
self.api_url = f"{base_url}/v1"
|
37
39
|
self.client = get_internal_http_client(self)
|
@@ -43,6 +45,7 @@ class PortClient(
|
|
43
45
|
integration_identifier,
|
44
46
|
integration_type,
|
45
47
|
integration_version,
|
48
|
+
ingest_url,
|
46
49
|
)
|
47
50
|
EntityClientMixin.__init__(self, self.auth, self.client)
|
48
51
|
IntegrationClientMixin.__init__(
|
@@ -296,7 +296,7 @@ class IntegrationClientMixin:
|
|
296
296
|
logger.debug("starting POST raw data request", raw_data=raw_data)
|
297
297
|
headers = await self.auth.headers()
|
298
298
|
response = await self.client.post(
|
299
|
-
f"{self.auth.
|
299
|
+
f"{self.auth.ingest_url}/lakehouse/integration-type/{self.auth.integration_type}/integration/{self.integration_identifier}/sync/{sync_id}/kind/{kind}/items",
|
300
300
|
headers=headers,
|
301
301
|
json={
|
302
302
|
"items": raw_data,
|
port_ocean/config/settings.py
CHANGED
@@ -9,7 +9,6 @@ from pydantic.main import BaseModel
|
|
9
9
|
|
10
10
|
from port_ocean.config.base import BaseOceanModel, BaseOceanSettings
|
11
11
|
from port_ocean.core.event_listener import EventListenerSettingsType
|
12
|
-
|
13
12
|
from port_ocean.core.models import (
|
14
13
|
CachingStorageMode,
|
15
14
|
CreatePortResourcesOrigin,
|
@@ -47,6 +46,7 @@ class PortSettings(BaseOceanModel, extra=Extra.allow):
|
|
47
46
|
client_secret: str = Field(..., sensitive=True)
|
48
47
|
base_url: AnyHttpUrl = parse_obj_as(AnyHttpUrl, "https://api.getport.io")
|
49
48
|
port_app_config_cache_ttl: int = 60
|
49
|
+
ingest_url: AnyHttpUrl = parse_obj_as(AnyHttpUrl, "https://ingest.getport.io")
|
50
50
|
|
51
51
|
|
52
52
|
class IntegrationSettings(BaseOceanModel, extra=Extra.allow):
|
port_ocean/ocean.py
CHANGED
@@ -1,21 +1,18 @@
|
|
1
1
|
import asyncio
|
2
2
|
import sys
|
3
|
-
from contextlib import asynccontextmanager
|
4
3
|
import threading
|
4
|
+
from contextlib import asynccontextmanager
|
5
5
|
from typing import Any, AsyncIterator, Callable, Dict, Type
|
6
6
|
|
7
|
-
from
|
8
|
-
from port_ocean.cache.disk import DiskCacheProvider
|
9
|
-
from port_ocean.cache.memory import InMemoryCacheProvider
|
10
|
-
from port_ocean.core.models import ProcessExecutionMode
|
11
|
-
import port_ocean.helpers.metric.metric
|
12
|
-
|
13
|
-
from fastapi import FastAPI, APIRouter
|
14
|
-
|
7
|
+
from fastapi import APIRouter, FastAPI
|
15
8
|
from loguru import logger
|
16
9
|
from pydantic import BaseModel
|
17
10
|
from starlette.types import Receive, Scope, Send
|
18
11
|
|
12
|
+
import port_ocean.helpers.metric.metric
|
13
|
+
from port_ocean.cache.base import CacheProvider
|
14
|
+
from port_ocean.cache.disk import DiskCacheProvider
|
15
|
+
from port_ocean.cache.memory import InMemoryCacheProvider
|
19
16
|
from port_ocean.clients.port.client import PortClient
|
20
17
|
from port_ocean.config.settings import (
|
21
18
|
IntegrationConfiguration,
|
@@ -26,16 +23,17 @@ from port_ocean.context.ocean import (
|
|
26
23
|
ocean,
|
27
24
|
)
|
28
25
|
from port_ocean.core.handlers.resync_state_updater import ResyncStateUpdater
|
26
|
+
from port_ocean.core.handlers.webhook.processor_manager import (
|
27
|
+
LiveEventsProcessorManager,
|
28
|
+
)
|
29
29
|
from port_ocean.core.integrations.base import BaseIntegration
|
30
|
+
from port_ocean.core.models import ProcessExecutionMode
|
30
31
|
from port_ocean.log.sensetive import sensitive_log_filter
|
31
32
|
from port_ocean.middlewares import request_handler
|
32
33
|
from port_ocean.utils.misc import IntegrationStateStatus
|
33
34
|
from port_ocean.utils.repeat import repeat_every
|
34
35
|
from port_ocean.utils.signal import signal_handler
|
35
36
|
from port_ocean.version import __integration_version__
|
36
|
-
from port_ocean.core.handlers.webhook.processor_manager import (
|
37
|
-
LiveEventsProcessorManager,
|
38
|
-
)
|
39
37
|
|
40
38
|
|
41
39
|
class Ocean:
|
@@ -69,6 +67,7 @@ class Ocean:
|
|
69
67
|
integration_identifier=self.config.integration.identifier,
|
70
68
|
integration_type=self.config.integration.type,
|
71
69
|
integration_version=__integration_version__,
|
70
|
+
ingest_url=self.config.port.ingest_url,
|
72
71
|
)
|
73
72
|
self.cache_provider: CacheProvider = self._get_caching_provider()
|
74
73
|
self.process_execution_mode: ProcessExecutionMode = (
|
@@ -96,7 +96,13 @@ def mock_http_client() -> MagicMock:
|
|
96
96
|
@pytest.fixture
|
97
97
|
def mock_port_client(mock_http_client: MagicMock) -> PortClient:
|
98
98
|
mock_port_client = PortClient(
|
99
|
-
MagicMock(),
|
99
|
+
MagicMock(),
|
100
|
+
MagicMock(),
|
101
|
+
MagicMock(),
|
102
|
+
MagicMock(),
|
103
|
+
MagicMock(),
|
104
|
+
MagicMock(),
|
105
|
+
MagicMock(),
|
100
106
|
)
|
101
107
|
mock_port_client.auth = AsyncMock()
|
102
108
|
mock_port_client.auth.headers = AsyncMock(
|
@@ -1,7 +1,9 @@
|
|
1
1
|
from typing import Any
|
2
|
-
from httpx import Response
|
3
|
-
import pytest
|
4
2
|
from unittest.mock import AsyncMock, MagicMock, patch
|
3
|
+
|
4
|
+
import pytest
|
5
|
+
from httpx import Response
|
6
|
+
|
5
7
|
from port_ocean.clients.port.client import PortClient
|
6
8
|
from port_ocean.clients.port.types import UserAgentType
|
7
9
|
from port_ocean.context.ocean import PortOceanContext
|
@@ -11,8 +13,6 @@ from port_ocean.core.handlers.entities_state_applier.port.applier import (
|
|
11
13
|
from port_ocean.core.handlers.entity_processor.jq_entity_processor import (
|
12
14
|
JQEntityProcessor,
|
13
15
|
)
|
14
|
-
from port_ocean.core.handlers.webhook.webhook_event import WebhookEventRawResults
|
15
|
-
from port_ocean.core.integrations.mixins.live_events import LiveEventsMixin
|
16
16
|
from port_ocean.core.handlers.port_app_config.models import (
|
17
17
|
EntityMapping,
|
18
18
|
MappingsConfig,
|
@@ -21,6 +21,8 @@ from port_ocean.core.handlers.port_app_config.models import (
|
|
21
21
|
ResourceConfig,
|
22
22
|
Selector,
|
23
23
|
)
|
24
|
+
from port_ocean.core.handlers.webhook.webhook_event import WebhookEventRawResults
|
25
|
+
from port_ocean.core.integrations.mixins.live_events import LiveEventsMixin
|
24
26
|
from port_ocean.core.models import Entity
|
25
27
|
from port_ocean.core.ocean_types import CalculationResult, EntitySelectorDiff
|
26
28
|
from port_ocean.ocean import Ocean
|
@@ -253,7 +255,13 @@ def mock_port_app_config_handler(
|
|
253
255
|
@pytest.fixture
|
254
256
|
def mock_port_client(mock_http_client: MagicMock) -> PortClient:
|
255
257
|
mock_port_client = PortClient(
|
256
|
-
MagicMock(),
|
258
|
+
MagicMock(),
|
259
|
+
MagicMock(),
|
260
|
+
MagicMock(),
|
261
|
+
MagicMock(),
|
262
|
+
MagicMock(),
|
263
|
+
MagicMock(),
|
264
|
+
MagicMock(),
|
257
265
|
)
|
258
266
|
mock_port_client.auth = AsyncMock()
|
259
267
|
mock_port_client.auth.headers = AsyncMock(
|
@@ -340,10 +348,11 @@ async def test_parse_raw_event_results_to_entities_creation(
|
|
340
348
|
calculation_result
|
341
349
|
)
|
342
350
|
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
351
|
+
(
|
352
|
+
entities_to_create,
|
353
|
+
entities_to_delete,
|
354
|
+
) = await mock_live_events_mixin._parse_raw_event_results_to_entities(
|
355
|
+
[one_webhook_event_raw_results_for_creation]
|
347
356
|
)
|
348
357
|
|
349
358
|
assert entities_to_create == [entity]
|
@@ -367,10 +376,11 @@ async def test_parse_raw_event_results_to_entities_deletion(
|
|
367
376
|
calculation_result
|
368
377
|
)
|
369
378
|
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
379
|
+
(
|
380
|
+
entities_to_create,
|
381
|
+
entities_to_delete,
|
382
|
+
) = await mock_live_events_mixin._parse_raw_event_results_to_entities(
|
383
|
+
[one_webhook_event_raw_results_for_deletion]
|
374
384
|
)
|
375
385
|
|
376
386
|
assert entities_to_create == []
|
@@ -1,32 +1,16 @@
|
|
1
|
-
import pytest
|
2
|
-
from port_ocean.core.handlers.webhook.processor_manager import (
|
3
|
-
LiveEventsProcessorManager,
|
4
|
-
)
|
5
|
-
from port_ocean.core.handlers.webhook.abstract_webhook_processor import (
|
6
|
-
AbstractWebhookProcessor,
|
7
|
-
)
|
8
|
-
from port_ocean.core.handlers.webhook.webhook_event import (
|
9
|
-
EventHeaders,
|
10
|
-
WebhookEvent,
|
11
|
-
WebhookEventRawResults,
|
12
|
-
EventPayload,
|
13
|
-
)
|
14
|
-
from fastapi import APIRouter
|
15
|
-
from port_ocean.core.integrations.mixins.handler import HandlerMixin
|
16
|
-
from port_ocean.utils.signal import SignalHandler
|
17
|
-
from typing import Dict, Any
|
18
1
|
import asyncio
|
2
|
+
from typing import Any, Dict
|
3
|
+
from unittest.mock import AsyncMock, MagicMock, patch
|
4
|
+
|
5
|
+
import pytest
|
6
|
+
from fastapi import APIRouter, FastAPI
|
19
7
|
from fastapi.testclient import TestClient
|
20
|
-
from fastapi import FastAPI
|
21
|
-
from port_ocean.context.ocean import PortOceanContext
|
22
|
-
from unittest.mock import AsyncMock
|
23
|
-
from port_ocean.context.event import EventContext, event_context, EventType
|
24
|
-
from port_ocean.context.ocean import ocean
|
25
|
-
from unittest.mock import MagicMock, patch
|
26
8
|
from httpx import Response
|
27
|
-
|
9
|
+
|
28
10
|
from port_ocean import Ocean
|
29
|
-
from port_ocean.
|
11
|
+
from port_ocean.clients.port.client import PortClient
|
12
|
+
from port_ocean.context.event import EventContext, EventType, event_context
|
13
|
+
from port_ocean.context.ocean import PortOceanContext, ocean
|
30
14
|
from port_ocean.core.handlers.port_app_config.models import (
|
31
15
|
EntityMapping,
|
32
16
|
MappingsConfig,
|
@@ -35,13 +19,28 @@ from port_ocean.core.handlers.port_app_config.models import (
|
|
35
19
|
ResourceConfig,
|
36
20
|
Selector,
|
37
21
|
)
|
22
|
+
from port_ocean.core.handlers.queue import LocalQueue
|
23
|
+
from port_ocean.core.handlers.webhook.abstract_webhook_processor import (
|
24
|
+
AbstractWebhookProcessor,
|
25
|
+
)
|
26
|
+
from port_ocean.core.handlers.webhook.processor_manager import (
|
27
|
+
LiveEventsProcessorManager,
|
28
|
+
)
|
29
|
+
from port_ocean.core.handlers.webhook.webhook_event import (
|
30
|
+
EventHeaders,
|
31
|
+
EventPayload,
|
32
|
+
WebhookEvent,
|
33
|
+
WebhookEventRawResults,
|
34
|
+
)
|
35
|
+
from port_ocean.core.integrations.base import BaseIntegration
|
36
|
+
from port_ocean.core.integrations.mixins.handler import HandlerMixin
|
38
37
|
from port_ocean.core.integrations.mixins.live_events import LiveEventsMixin
|
39
38
|
from port_ocean.core.models import Entity
|
40
39
|
from port_ocean.exceptions.webhook_processor import (
|
41
40
|
RetryableError,
|
42
41
|
WebhookEventNotSupportedError,
|
43
42
|
)
|
44
|
-
from port_ocean.
|
43
|
+
from port_ocean.utils.signal import SignalHandler
|
45
44
|
|
46
45
|
|
47
46
|
class MockProcessor(AbstractWebhookProcessor):
|
@@ -275,7 +274,13 @@ def mock_http_client() -> MagicMock:
|
|
275
274
|
@pytest.fixture
|
276
275
|
def mock_port_client(mock_http_client: MagicMock) -> PortClient:
|
277
276
|
mock_port_client = PortClient(
|
278
|
-
MagicMock(),
|
277
|
+
MagicMock(),
|
278
|
+
MagicMock(),
|
279
|
+
MagicMock(),
|
280
|
+
MagicMock(),
|
281
|
+
MagicMock(),
|
282
|
+
MagicMock(),
|
283
|
+
MagicMock(),
|
279
284
|
)
|
280
285
|
mock_port_client.auth = AsyncMock()
|
281
286
|
mock_port_client.auth.headers = AsyncMock(
|
@@ -56,12 +56,12 @@ port_ocean/clients/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
|
|
56
56
|
port_ocean/clients/auth/auth_client.py,sha256=scxx7AYqvXoRAd8_K-Ww26oErzi5l8ZCGPc0sVKgIfA,192
|
57
57
|
port_ocean/clients/auth/oauth_client.py,sha256=FjexH-T3v4ssRWhkHtvHXhi1EH1Vxu8vwHp3HxqfYN8,795
|
58
58
|
port_ocean/clients/port/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
59
|
-
port_ocean/clients/port/authentication.py,sha256=
|
60
|
-
port_ocean/clients/port/client.py,sha256=
|
59
|
+
port_ocean/clients/port/authentication.py,sha256=ZO1Vw1nm-NlVUPPtPS5O4GGDvRmyS3vnayWKyVyuuKc,3519
|
60
|
+
port_ocean/clients/port/client.py,sha256=hBXgU0CDseN2F-vn20JqowfVkcd6oSVmYrjn6t4TI6c,3616
|
61
61
|
port_ocean/clients/port/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
62
62
|
port_ocean/clients/port/mixins/blueprints.py,sha256=aMCG4zePsMSMjMLiGrU37h5z5_ElfMzTcTvqvOI5wXY,4683
|
63
63
|
port_ocean/clients/port/mixins/entities.py,sha256=X2NqH00eK6TMJ3a3QEQRVQlKHzyj5l1FiPkIhonnbPg,24234
|
64
|
-
port_ocean/clients/port/mixins/integrations.py,sha256=
|
64
|
+
port_ocean/clients/port/mixins/integrations.py,sha256=5OK21zU9vBk1-SuweiQzkXP_VxofVO1cqL7Ipw-X-YM,11940
|
65
65
|
port_ocean/clients/port/mixins/migrations.py,sha256=vdL_A_NNUogvzujyaRLIoZEu5vmKDY2BxTjoGP94YzI,1467
|
66
66
|
port_ocean/clients/port/mixins/organization.py,sha256=A2cP5V49KnjoAXxjmnm_XGth4ftPSU0qURNfnyUyS_Y,1041
|
67
67
|
port_ocean/clients/port/retry_transport.py,sha256=PtIZOAZ6V-ncpVysRUsPOgt8Sf01QLnTKB5YeKBxkJk,1861
|
@@ -70,7 +70,7 @@ port_ocean/clients/port/utils.py,sha256=osFyAjw7Y5Qf2uVSqC7_RTCQfijiL1zS74JJM0go
|
|
70
70
|
port_ocean/config/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
71
71
|
port_ocean/config/base.py,sha256=x1gFbzujrxn7EJudRT81C6eN9WsYAb3vOHwcpcpX8Tc,6370
|
72
72
|
port_ocean/config/dynamic.py,sha256=Lrk4JRGtR-0YKQ9DDGexX5NGFE7EJ6VoHya19YYhssM,2687
|
73
|
-
port_ocean/config/settings.py,sha256=
|
73
|
+
port_ocean/config/settings.py,sha256=pknMyy3T8FP8laCxYNfIIGEjeYFd8kQA1eSPreerBAE,7768
|
74
74
|
port_ocean/consumers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
75
|
port_ocean/consumers/kafka_consumer.py,sha256=N8KocjBi9aR0BOPG8hgKovg-ns_ggpEjrSxqSqF_BSo,4710
|
76
76
|
port_ocean/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -150,7 +150,7 @@ port_ocean/log/handlers.py,sha256=LJ1WAfq7wYCrBpeLPihMKmWjdSahKKXNHFMRYkbk0Co,36
|
|
150
150
|
port_ocean/log/logger_setup.py,sha256=0K3zVG0YYrYOWEV8-rCGks1o-bMRxgHXlqawu9w_tSw,2656
|
151
151
|
port_ocean/log/sensetive.py,sha256=lVKiZH6b7TkrZAMmhEJRhcl67HNM94e56x12DwFgCQk,2920
|
152
152
|
port_ocean/middlewares.py,sha256=9wYCdyzRZGK1vjEJ28FY_DkfwDNENmXp504UKPf5NaQ,2727
|
153
|
-
port_ocean/ocean.py,sha256=
|
153
|
+
port_ocean/ocean.py,sha256=IhsLnPqEJ2SflnBAt-byxGl9w_ULkdvd6-sxBbVQtJw,8874
|
154
154
|
port_ocean/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
155
155
|
port_ocean/run.py,sha256=CmKz14bxfdOooNbQ5QqH1MwX-XLYVG4NgT4KbrzFaqI,2216
|
156
156
|
port_ocean/sonar-project.properties,sha256=X_wLzDOkEVmpGLRMb2fg9Rb0DxWwUFSvESId8qpvrPI,73
|
@@ -166,19 +166,19 @@ port_ocean/tests/clients/port/mixins/test_integrations.py,sha256=vRt_EMsLozQC1LJ
|
|
166
166
|
port_ocean/tests/clients/port/mixins/test_organization_mixin.py,sha256=zzKYz3h8dl4Z5A2QG_924m0y9U6XTth1XYOfwNrd_24,914
|
167
167
|
port_ocean/tests/config/test_config.py,sha256=Rk4N-ldVSOfn1p23NzdVdfqUpPrqG2cMut4Sv-sAOrw,1023
|
168
168
|
port_ocean/tests/conftest.py,sha256=JXASSS0IY0nnR6bxBflhzxS25kf4iNaABmThyZ0mZt8,101
|
169
|
-
port_ocean/tests/core/conftest.py,sha256=
|
169
|
+
port_ocean/tests/core/conftest.py,sha256=0Oql7R1iTbjPyNdUoO6M21IKknLwnCIgDRz2JQ7nf0w,7748
|
170
170
|
port_ocean/tests/core/defaults/test_common.py,sha256=sR7RqB3ZYV6Xn6NIg-c8k5K6JcGsYZ2SCe_PYX5vLYM,5560
|
171
171
|
port_ocean/tests/core/event_listener/test_kafka.py,sha256=PH90qk2fvdrQOSZD2QrvkGy8w_WoYb_KHGnqJ6PLHAo,2681
|
172
172
|
port_ocean/tests/core/handlers/entities_state_applier/test_applier.py,sha256=7XWgwUB9uVYRov4VbIz1A-7n2YLbHTTYT-4rKJxjB0A,10711
|
173
173
|
port_ocean/tests/core/handlers/entity_processor/test_jq_entity_processor.py,sha256=TjSj8ssIqH23VJlO5PGovbudCqDbuE2-54iNQsD9K-I,14099
|
174
|
-
port_ocean/tests/core/handlers/mixins/test_live_events.py,sha256=
|
174
|
+
port_ocean/tests/core/handlers/mixins/test_live_events.py,sha256=Sbv9IZAGQoZDhf27xDjMMVYxUSie9mHltDtxLSqckmM,12548
|
175
175
|
port_ocean/tests/core/handlers/mixins/test_sync_raw.py,sha256=-Jd2rUG63fZM8LuyKtCp1tt4WEqO2m5woESjs1c91sU,44428
|
176
176
|
port_ocean/tests/core/handlers/port_app_config/test_api.py,sha256=eJZ6SuFBLz71y4ca3DNqKag6d6HUjNJS0aqQPwiLMTI,1999
|
177
177
|
port_ocean/tests/core/handlers/port_app_config/test_base.py,sha256=hSh556bJM9zuELwhwnyKSfd9z06WqWXIfe-6hCl5iKI,9799
|
178
178
|
port_ocean/tests/core/handlers/queue/test_group_queue.py,sha256=Y1BrQi5xwhk5bYDlKRWw9PenF5cqxIF2TIU_hldqji0,22801
|
179
179
|
port_ocean/tests/core/handlers/queue/test_local_queue.py,sha256=9Ly0HzZXbs6Rbl_bstsIdInC3h2bgABU3roP9S_PnJM,2582
|
180
180
|
port_ocean/tests/core/handlers/webhook/test_abstract_webhook_processor.py,sha256=zKwHhPAYEZoZ5Z2UETp1t--mbkS8uyvlXThB0obZTTc,3340
|
181
|
-
port_ocean/tests/core/handlers/webhook/test_processor_manager.py,sha256=
|
181
|
+
port_ocean/tests/core/handlers/webhook/test_processor_manager.py,sha256=16q-5NagXBv8J1TZC75h-9N4MW_8KB4GX2mmPD6gr4s,52294
|
182
182
|
port_ocean/tests/core/handlers/webhook/test_webhook_event.py,sha256=oR4dEHLO65mp6rkfNfszZcfFoRZlB8ZWee4XetmsuIk,3181
|
183
183
|
port_ocean/tests/core/test_utils.py,sha256=Z3kdhb5V7Svhcyy3EansdTpgHL36TL6erNtU-OPwAcI,2647
|
184
184
|
port_ocean/tests/core/utils/test_entity_topological_sorter.py,sha256=zuq5WSPy_88PemG3mOUIHTxWMR_js1R7tOzUYlgBd68,3447
|
@@ -188,7 +188,7 @@ port_ocean/tests/helpers/fake_port_api.py,sha256=9rtjC6iTQMfzWK6WipkDzzG0b1IIaRm
|
|
188
188
|
port_ocean/tests/helpers/fixtures.py,sha256=dinEucKDTGAD2tKwbOqqHZSHNPsDLN2HxnLqA-WXGeI,1443
|
189
189
|
port_ocean/tests/helpers/integration.py,sha256=_RxS-RHpu11lrbhUXYPZp862HLWx8AoD7iZM6iXN8rs,1104
|
190
190
|
port_ocean/tests/helpers/ocean_app.py,sha256=N06vcNI1klqdcNFq-PXL5vm77u-hODsOSXnj9p8d1AI,2249
|
191
|
-
port_ocean/tests/helpers/port_client.py,sha256=
|
191
|
+
port_ocean/tests/helpers/port_client.py,sha256=S0CXvZWUoHFWWQUOEgdkDammK9Fs3R06wx0flaMrTsg,647
|
192
192
|
port_ocean/tests/helpers/smoke_test.py,sha256=_9aJJFRfuGJEg2D2YQJVJRmpreS6gEPHHQq8Q01x4aQ,2697
|
193
193
|
port_ocean/tests/log/test_handlers.py,sha256=x2P2Hd6Cb3sQafIE3TRGltbbHeiFHaiEjwRn9py_03g,2165
|
194
194
|
port_ocean/tests/test_metric.py,sha256=gDdeJcqJDQ_o3VrYrW23iZyw2NuUsyATdrygSXhcDuQ,8096
|
@@ -207,8 +207,8 @@ port_ocean/utils/repeat.py,sha256=U2OeCkHPWXmRTVoPV-VcJRlQhcYqPWI5NfmPlb1JIbc,32
|
|
207
207
|
port_ocean/utils/signal.py,sha256=mMVq-1Ab5YpNiqN4PkiyTGlV_G0wkUDMMjTZp5z3pb0,1514
|
208
208
|
port_ocean/utils/time.py,sha256=pufAOH5ZQI7gXvOvJoQXZXZJV-Dqktoj9Qp9eiRwmJ4,1939
|
209
209
|
port_ocean/version.py,sha256=UsuJdvdQlazzKGD3Hd5-U7N69STh8Dq9ggJzQFnu9fU,177
|
210
|
-
port_ocean-0.27.
|
211
|
-
port_ocean-0.27.
|
212
|
-
port_ocean-0.27.
|
213
|
-
port_ocean-0.27.
|
214
|
-
port_ocean-0.27.
|
210
|
+
port_ocean-0.27.10.dist-info/LICENSE.md,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
211
|
+
port_ocean-0.27.10.dist-info/METADATA,sha256=Igj6QUVBOykcFVAw94SzlNlVos1FrGhIAINmZnLK1GM,7016
|
212
|
+
port_ocean-0.27.10.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
|
213
|
+
port_ocean-0.27.10.dist-info/entry_points.txt,sha256=F_DNUmGZU2Kme-8NsWM5LLE8piGMafYZygRYhOVtcjA,54
|
214
|
+
port_ocean-0.27.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|