Skip to content

Commit

Permalink
Merge branch 'master' into grubberr/oncall-115-improve-csv-parsing
Browse files Browse the repository at this point in the history
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
  • Loading branch information
grubberr committed Jan 25, 2022
2 parents 00d8d58 + 579923d commit 48530bd
Show file tree
Hide file tree
Showing 122 changed files with 1,657 additions and 645 deletions.
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.35.7-alpha
current_version = 0.35.9-alpha
commit = False
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-[a-z]+)?
Expand Down
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@


### SHARED ###
VERSION=0.35.7-alpha
VERSION=0.35.9-alpha

# When using the airbyte-db via default docker image
CONFIG_ROOT=/data
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -566,6 +566,12 @@ jobs:
- name: Build Platform Docker Images
run: SUB_BUILD=PLATFORM ./gradlew assemble --scan

- name: Run Logging Tests
run: ./tools/bin/cloud_storage_logging_test.sh
env:
AWS_S3_INTEGRATION_TEST_CREDS: ${{ secrets.AWS_S3_INTEGRATION_TEST_CREDS }}
GOOGLE_CLOUD_STORAGE_TEST_CREDS: ${{ secrets.GOOGLE_CLOUD_STORAGE_TEST_CREDS }}

- name: Run Kubernetes End-to-End Acceptance Tests
env:
USER: root
Expand All @@ -582,12 +588,6 @@ jobs:
name: Kubernetes Logs
path: /tmp/kubernetes_logs/*

- name: Run Logging Tests
run: ./tools/bin/cloud_storage_logging_test.sh
env:
AWS_S3_INTEGRATION_TEST_CREDS: ${{ secrets.AWS_S3_INTEGRATION_TEST_CREDS }}
GOOGLE_CLOUD_STORAGE_TEST_CREDS: ${{ secrets.GOOGLE_CLOUD_STORAGE_TEST_CREDS }}

- name: Show Disk Usage
run: |
df -h
Expand Down
60 changes: 60 additions & 0 deletions airbyte-api/src/main/openapi/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1665,6 +1665,29 @@ paths:
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/InvalidInputResponse"
/v1/jobs/get_debug_info:
post:
tags:
- jobs
summary: Gets all information needed to debug this job
operationId: getJobDebugInfo
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/JobIdRequestBody"
required: true
responses:
"200":
description: Successful operation
content:
application/json:
schema:
$ref: "#/components/schemas/JobDebugInfoRead"
"404":
$ref: "#/components/responses/NotFoundResponse"
"422":
$ref: "#/components/responses/InvalidInputResponse"
/v1/health:
get:
tags:
Expand Down Expand Up @@ -3068,6 +3091,31 @@ components:
format: int64
status:
$ref: "#/components/schemas/JobStatus"
JobDebugRead:
type: object
required:
- id
- configType
- configId
- status
- airbyteVersion
- sourceDefinition
- destinationDefinition
properties:
id:
$ref: "#/components/schemas/JobId"
configType:
$ref: "#/components/schemas/JobConfigType"
configId:
type: string
status:
$ref: "#/components/schemas/JobStatus"
airbyteVersion:
type: string
sourceDefinition:
$ref: "#/components/schemas/SourceDefinitionRead"
destinationDefinition:
$ref: "#/components/schemas/DestinationDefinitionRead"
JobWithAttemptsRead:
type: object
properties:
Expand Down Expand Up @@ -3172,6 +3220,18 @@ components:
type: array
items:
$ref: "#/components/schemas/AttemptInfoRead"
JobDebugInfoRead:
type: object
required:
- job
- attempts
properties:
job:
$ref: "#/components/schemas/JobDebugRead"
attempts:
type: array
items:
$ref: "#/components/schemas/AttemptInfoRead"
AttemptInfoRead:
type: object
required:
Expand Down
4 changes: 2 additions & 2 deletions airbyte-bootloader/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ ENV APPLICATION airbyte-bootloader

WORKDIR /app

ADD bin/${APPLICATION}-0.35.7-alpha.tar /app
ADD bin/${APPLICATION}-0.35.9-alpha.tar /app

ENTRYPOINT ["/bin/bash", "-c", "${APPLICATION}-0.35.7-alpha/bin/${APPLICATION}"]
ENTRYPOINT ["/bin/bash", "-c", "${APPLICATION}-0.35.9-alpha/bin/${APPLICATION}"]
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"destinationDefinitionId": "b4c5d105-31fd-4817-96b6-cb923bfc04cb",
"name": "Azure Blob Storage",
"dockerRepository": "airbyte/destination-azure-blob-storage",
"dockerImageTag": "0.1.1",
"dockerImageTag": "0.1.2",
"documentationUrl": "https://docs.airbyte.io/integrations/destinations/azureblobstorage",
"icon": "azureblobstorage.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"sourceDefinitionId": "36c891d9-4bd9-43ac-bad2-10e12756272c",
"name": "HubSpot",
"dockerRepository": "airbyte/source-hubspot",
"dockerImageTag": "0.1.33",
"dockerImageTag": "0.1.35",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/hubspot",
"icon": "hubspot.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"sourceDefinitionId": "41991d12-d4b5-439e-afd0-260a31d4c53f",
"name": "SalesLoft",
"dockerRepository": "airbyte/source-salesloft",
"dockerImageTag": "0.1.0",
"dockerImageTag": "0.1.1",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/salesloft",
"icon": "salesloft.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"sourceDefinitionId": "71607ba1-c0ac-4799-8049-7f4b90dd50f7",
"name": "Google Sheets",
"dockerRepository": "airbyte/source-google-sheets",
"dockerImageTag": "0.2.7",
"dockerImageTag": "0.2.9",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/google-sheets",
"icon": "google-sheets.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"sourceDefinitionId": "9da77001-af33-4bcd-be46-6252bf9342b9",
"name": "Shopify",
"dockerRepository": "airbyte/source-shopify",
"dockerImageTag": "0.1.28",
"dockerImageTag": "0.1.30",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/shopify",
"icon": "shopify.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"sourceDefinitionId": "af6d50ee-dddf-4126-a8ee-7faee990774f",
"name": "PostHog",
"dockerRepository": "airbyte/source-posthog",
"dockerImageTag": "0.1.4",
"dockerImageTag": "0.1.6",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/posthog",
"icon": "posthog.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"sourceDefinitionId": "b117307c-14b6-41aa-9422-947e34922962",
"name": "Salesforce",
"dockerRepository": "airbyte/source-salesforce",
"dockerImageTag": "0.1.19",
"dockerImageTag": "0.1.20",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/salesforce",
"icon": "salesforce.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"sourceDefinitionId": "cd42861b-01fc-4658-a8ab-5d11d0510f01",
"name": "Recurly",
"dockerRepository": "airbyte/source-recurly",
"dockerImageTag": "0.3.1",
"dockerImageTag": "0.3.2",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/recurly",
"icon": "recurly.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"sourceDefinitionId": "e87ffa8e-a3b5-f69c-9076-6011339de1f6",
"name": "Redshift",
"dockerRepository": "airbyte/source-redshift",
"dockerImageTag": "0.3.5",
"dockerImageTag": "0.3.6",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/redshift",
"icon": "redshift.svg"
}
Original file line number Diff line number Diff line change
Expand Up @@ -3786,7 +3786,7 @@
supported_destination_sync_modes:
- "overwrite"
- "append"
- dockerImage: "airbyte/destination-snowflake:0.4.3"
- dockerImage: "airbyte/destination-snowflake:0.4.4"
spec:
documentationUrl: "https://docs.airbyte.io/integrations/destinations/snowflake"
connectionSpecification:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@
- name: Google Sheets
sourceDefinitionId: 71607ba1-c0ac-4799-8049-7f4b90dd50f7
dockerRepository: airbyte/source-google-sheets
dockerImageTag: 0.2.8
dockerImageTag: 0.2.9
documentationUrl: https://docs.airbyte.io/integrations/sources/google-sheets
icon: google-sheets.svg
sourceType: file
Expand Down Expand Up @@ -307,7 +307,7 @@
- name: HubSpot
sourceDefinitionId: 36c891d9-4bd9-43ac-bad2-10e12756272c
dockerRepository: airbyte/source-hubspot
dockerImageTag: 0.1.34
dockerImageTag: 0.1.35
documentationUrl: https://docs.airbyte.io/integrations/sources/hubspot
icon: hubspot.svg
sourceType: api
Expand Down Expand Up @@ -557,7 +557,7 @@
- name: PostHog
sourceDefinitionId: af6d50ee-dddf-4126-a8ee-7faee990774f
dockerRepository: airbyte/source-posthog
dockerImageTag: 0.1.5
dockerImageTag: 0.1.6
documentationUrl: https://docs.airbyte.io/integrations/sources/posthog
icon: posthog.svg
sourceType: api
Expand Down Expand Up @@ -599,14 +599,14 @@
- name: Recurly
sourceDefinitionId: cd42861b-01fc-4658-a8ab-5d11d0510f01
dockerRepository: airbyte/source-recurly
dockerImageTag: 0.3.1
dockerImageTag: 0.3.2
documentationUrl: https://docs.airbyte.io/integrations/sources/recurly
icon: recurly.svg
sourceType: api
- name: Redshift
sourceDefinitionId: e87ffa8e-a3b5-f69c-9076-6011339de1f6
dockerRepository: airbyte/source-redshift
dockerImageTag: 0.3.5
dockerImageTag: 0.3.6
documentationUrl: https://docs.airbyte.io/integrations/sources/redshift
icon: redshift.svg
sourceType: database
Expand All @@ -627,7 +627,7 @@
- name: SalesLoft
sourceDefinitionId: 41991d12-d4b5-439e-afd0-260a31d4c53f
dockerRepository: airbyte/source-salesloft
dockerImageTag: 0.1.0
dockerImageTag: 0.1.1
documentationUrl: https://docs.airbyte.io/integrations/sources/lever-onesignal
icon: salesloft.svg
sourceType: api
Expand Down Expand Up @@ -655,7 +655,7 @@
- name: Shopify
sourceDefinitionId: 9da77001-af33-4bcd-be46-6252bf9342b9
dockerRepository: airbyte/source-shopify
dockerImageTag: 0.1.29
dockerImageTag: 0.1.30
documentationUrl: https://docs.airbyte.io/integrations/sources/shopify
icon: shopify.svg
sourceType: api
Expand Down
Loading

1 comment on commit 48530bd

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SonarQube Report

SonarQube report for Airbyte Connectors Source Salesforce(#9757)

Measures

Name Value Name Value Name Value
Duplicated Blocks 0 Reliability Rating A Code Smells 75
Lines of Code 1059 Security Rating A Duplicated Lines (%) 0.0
Bugs 0 Quality Gate Status OK Coverage 53.3
Lines to Cover 640 Vulnerabilities 0 Blocker Issues 0
Critical Issues 3 Major Issues 8 Minor Issues 64

Detected Issues

Rule File Description Message
python:S5886 (MAJOR) source_salesforce/streams.py:251 Function return types should be consistent with their type hint Remove this yield statement or annotate function "download_data" with "typing.Generator" or one of its supertypes.
python:black_need_format (MINOR) source_salesforce/source.py Please run one of the commands: "black --config ./pyproject.toml <path_to_updated_folder>" or "./gradlew format" 1 code part(s) should be updated.
python:isort_need_format (MINOR) source_salesforce/source.py Please run one of the commands: "isort <path_to_updated_folder>" or "./gradlew format" 1 code part(s) should be updated.
flake8:E501 (MAJOR) source_salesforce/source.py:32 line too long (82 > 79 characters) line too long (148 > 140 characters)
python:isort_need_format (MINOR) unit_tests/unit_test.py Please run one of the commands: "isort <path_to_updated_folder>" or "./gradlew format" 1 code part(s) should be updated.
python:S1192 (CRITICAL) unit_tests/unit_test.py:58 String literals should not be duplicated Define a constant instead of duplicating this literal "https://fase-account.salesforce.com" 3 times.
python:isort_need_format (MINOR) integration_tests/bulk_error_test.py Please run one of the commands: "isort <path_to_updated_folder>" or "./gradlew format" 1 code part(s) should be updated.
python:S1192 (CRITICAL) unit_tests/unit_test.py:115 String literals should not be duplicated Define a constant instead of duplicating this literal "2122-08-22T05:08:29.000Z" 3 times.
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:47 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def path(self, next_page_token: Mapping[str, Any] = None, **kwargs...
python:mypy_return_value (MINOR) source_salesforce/streams.py:52 Check that return value is compatible with signature Incompatible return value type (got "Mapping[str, Any]", expected "str") . Code line: return next_page_token
python:mypy_no_any_return (MINOR) source_salesforce/streams.py:57 Reject returning value with "Any" type if return type is not "Any" Returning Any from function declared to return "str" . Code line: return response_data.get("nextRecordsUrl")
python:mypy_valid_type (MINOR) source_salesforce/streams.py:266 Check that type (annotation) is valid Function "builtins.any" is not valid as a type . Code line: ...e: Mapping[str, Any], stream_slice: Mapping[str, any] = None, next_pag...
python:mypy_operator (MINOR) source_salesforce/streams.py:275 Check that operator is valid for operands Unsupported operand types for + ("str" and "Mapping[str, Any]") . Code line: query += next_page_token
python:mypy_valid_type (MINOR) source_salesforce/streams.py:329 Check that type (annotation) is valid Function "builtins.any" is not valid as a type . Code line: ...e: Mapping[str, Any], stream_slice: Mapping[str, any] = None, next_pag...
python:mypy_return (MINOR) source_salesforce/streams.py:365 Check that function always returns a value Missing return statement . Code line: def next_page_token(self, last_record: dict) -> str:
python:mypy_no_any_return (MINOR) source_salesforce/streams.py:367 Reject returning value with "Any" type if return type is not "Any" Returning Any from function declared to return "str" . Code line: return last_record[self.cursor_field]
python:mypy_no_untyped_def (MINOR) source_salesforce/api.py:209 Check that every function has an annotation Function is missing a return type annotation . Code line: def get_validated_streams(self, config: Mapping[str, Any], catalog...
python:mypy_no_untyped_def (MINOR) source_salesforce/utils.py:6 Check that every function has an annotation Function is missing a return type annotation . Code line: def filter_streams(streams_list: list, search_word: str, search_criter...
python:mypy_import (MINOR) source_salesforce/api.py:10 Require that imported module can be found or has stubs Library stubs not installed for "requests.exceptions" (or incompatible with Python 3.7) . Code line: from requests.exceptions import HTTPError
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:236 Check that every function has an annotation Function is missing a return type annotation . Code line: def filter_null_bytes(self, s: str):
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:317 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def init(self, replication_key: str, start_date: Optional[str]...
python:mypy_return (MINOR) source_salesforce/streams.py:323 Check that function always returns a value Missing return statement . Code line: def format_start_date(start_date: Optional[str]) -> Optional[str]:
python:mypy_no_any_return (MINOR) source_salesforce/streams.py:326 Reject returning value with "Any" type if return type is not "Any" Returning Any from function declared to return "Optional[str]" . Code line: return pendulum.parse(start_date).strftime("%Y-%m-%dT%H:%M...
python:mypy_attr_defined (MINOR) source_salesforce/streams.py:326 Check that attribute exists Module has no attribute "parse" . Code line: return pendulum.parse(start_date).strftime("%Y-%m-%dT%H:%M...
python:S5886 (MAJOR) source_salesforce/streams.py:222 Function return types should be consistent with their type hint Return a value of type "str" instead of "NoneType" or update function "execute_job" type hint.
python:mypy_attr_defined (MINOR) source_salesforce/streams.py:17 Check that attribute exists Module "pendulum" does not explicitly export attribute "DateTime"; implicit reexport disabled . Code line: from pendulum import DateTime
python:mypy_assignment (MINOR) source_salesforce/streams.py:84 Check that assigned value is compatible with target Incompatible types in assignment (expression has type "Mapping[str, Any]", variable has type "Optional[Dict[Any, Any]]") . Code line: self.schema = self.sf_api.generate_schema([self.name])
python:mypy_arg_type (MINOR) source_salesforce/streams.py:84 Check argument types in calls Argument 1 to "generate_schema" of "Salesforce" has incompatible type "List[str]"; expected "Optional[str]" . Code line: self.schema = self.sf_api.generate_schema([self.name])
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:114 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def init(self, wait_timeout: Optional[int], **kwargs):
python:mypy_assignment (MINOR) source_salesforce/streams.py:205 Check that assigned value is compatible with target Incompatible types in assignment (expression has type "float", variable has type "int") . Code line: delay_timeout = 0.5 + math.exp(delay_cnt) / 1000.0
python:S5799 (MAJOR) source_salesforce/streams.py:211 Implicit string and byte concatenations should not be confusing Merge these implicitly concatenated strings; or did you forget a comma?
python:S112 (MAJOR) source_salesforce/streams.py:233 "Exception" and "BaseException" should not be raised Replace this generic exception class with a more specific one.
flake8:E203 (MAJOR) unit_tests/unit_test.py:134 whitespace before ‘:’ whitespace before ':'
python:S125 (MAJOR) unit_tests/unit_test.py:203 Sections of code should not be commented out Remove this commented out code.
python:S5720 (CRITICAL) source_salesforce/streams.py:124 "self" should be the first argument to instance methods Rename "instance" to "self" or add the missing "self" parameter.
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:124 Check that every function has an annotation Function is missing a type annotation . Code line: def transform_empty_string_to_none(instance, schema):
python:mypy_has_type (MINOR) source_salesforce/streams.py:301 Check that type of reference can be determined Cannot determine type of "record" . Code line: yield record
python:isort_need_format (MINOR) main.py Please run one of the commands: "isort <path_to_updated_folder>" or "./gradlew format" 1 code part(s) should be updated.
python:mypy_no_untyped_def (MINOR) integration_tests/acceptance.py:12 Check that every function has an annotation Function is missing a return type annotation . Code line: def connector_setup():
python:mypy_import (MINOR) source_salesforce/api.py:7 Require that imported module can be found or has stubs Library stubs not installed for "requests" (or incompatible with Python 3.7) . Code line: import requests
python:mypy_no_untyped_def (MINOR) source_salesforce/api.py:177 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def init(
python:mypy_unreachable (MINOR) source_salesforce/api.py:194 Warn about unreachable statements or expressions Right operand of "and" is never evaluated . Code line: ...dbox is True or (isinstance(is_sandbox, str) and is_sandbox.lower() ==...
python:mypy_no_untyped_def (MINOR) source_salesforce/api.py:197 Check that every function has an annotation Function is missing a return type annotation . Code line: def _get_standard_headers(self):
python:mypy_no_untyped_def (MINOR) source_salesforce/api.py:249 Check that every function has an annotation Function is missing a return type annotation . Code line: def login(self):
python:mypy_no_any_return (MINOR) source_salesforce/api.py:274 Reject returning value with "Any" type if return type is not "Any" Returning Any from function declared to return "Mapping[str, Any]" . Code line: return resp.json()
python:mypy_index (MINOR) source_salesforce/api.py:280 Check indexing operations Unsupported target for indexed assignment ("object") . Code line: schema["properties"][field["name"]] = self.field_to_proper...
python:mypy_dict_item (MINOR) source_salesforce/api.py:308 Check dict items in a dict expression {key: value, ...} Dict entry 1 has incompatible type "str": "str"; expected "str": "List[str]" . Code line: ... property_schema = {"type": ["string", "null"], "format": "date-time"...
python:mypy_dict_item (MINOR) source_salesforce/api.py:314 Check dict items in a dict expression {key: value, ...} Dict entry 1 has incompatible type "str": "Dict[str, Dict[str, List[str]]]"; expected "str": "List[str]" . Code line: "properties": {
python:mypy_dict_item (MINOR) source_salesforce/api.py:326 Check dict items in a dict expression {key: value, ...} Dict entry 1 has incompatible type "str": "str"; expected "str": "List[str]" . Code line: ... property_schema = {"type": ["string", "null"], "format": "base64"}
python:mypy_dict_item (MINOR) source_salesforce/api.py:340 Check dict items in a dict expression {key: value, ...} Dict entry 1 has incompatible type "str": "Dict[str, Dict[str, List[str]]]"; expected "str": "List[str]" . Code line: "properties": {"longitude": {"type": ["null", "number"...
python:mypy_import (MINOR) source_salesforce/rate_limiting.py:11 Require that imported module can be found or has stubs Library stubs not installed for "requests" (or incompatible with Python 3.7) . Code line: from requests import codes, exceptions
python:mypy_no_untyped_def (MINOR) source_salesforce/rate_limiting.py:24 Check that every function has an annotation Function is missing a return type annotation . Code line: def default_backoff_handler(max_tries: int, factor: int, **kwargs):
python:mypy_no_untyped_def (MINOR) source_salesforce/rate_limiting.py:24 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def default_backoff_handler(max_tries: int, factor: int, **kwargs):
python:mypy_no_untyped_def (MINOR) source_salesforce/rate_limiting.py:25 Check that every function has an annotation Function is missing a type annotation . Code line: def log_retry_attempt(details):
python:mypy_no_untyped_def (MINOR) source_salesforce/rate_limiting.py:30 Check that every function has an annotation Function is missing a type annotation . Code line: def should_give_up(exc):
python:mypy_valid_type (MINOR) source_salesforce/source.py:26 Check that type (annotation) is valid Function "builtins.any" is not valid as a type . Code line: ...logger: AirbyteLogger, config: Mapping[str, Any]) -> Tuple[bool, any]:
python:mypy_assignment (MINOR) source_salesforce/source.py:52 Check that assigned value is compatible with target Incompatible types in assignment (expression has type "Type[BulkSalesforceStream]", variable has type "Type[SalesforceStream]") . Code line: full_refresh, incremental = BulkSalesforceStream, Bulk...
python:mypy_assignment (MINOR) source_salesforce/source.py:52 Check that assigned value is compatible with target Incompatible types in assignment (expression has type "Type[BulkSalesforceStream]", variable has type "Type[IncrementalSalesforceStream]") . Code line: ...ull_refresh, incremental = BulkSalesforceStream, BulkIncrementalSalesf...
flake8:E501 (MAJOR) source_salesforce/source.py:88 line too long (82 > 79 characters) line too long (149 > 140 characters)
python:mypy_import (MINOR) source_salesforce/streams.py:13 Require that imported module can be found or has stubs Library stubs not installed for "requests" (or incompatible with Python 3.7) . Code line: import requests
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:28 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def init(self, sf_api: Salesforce, pk: str, stream_name: str, ...
python:mypy_valid_type (MINOR) source_salesforce/streams.py:60 Check that type (annotation) is valid Function "builtins.any" is not valid as a type . Code line: ...e: Mapping[str, Any], stream_slice: Mapping[str, any] = None, next_pag...
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:79 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def parse_response(self, response: requests.Response, **kwargs) ->...
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:87 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def read_records(self, **kwargs) -> Iterable[Mapping[str, Any]]:
python:mypy_override (MINOR) source_salesforce/streams.py:118 Check that method override is compatible with base class Signature of "path" incompatible with supertype "SalesforceStream" . Code line: def path(self, **kwargs) -> str:
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:118 Check that every function has an annotation Function is missing a type annotation for one or more arguments . Code line: def path(self, **kwargs) -> str:
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:134 Check that every function has an annotation Function is missing a return type annotation . Code line: def _send_http_request(self, method: str, url: str, json: dict = N...
python:mypy_no_any_return (MINOR) source_salesforce/streams.py:152 Reject returning value with "Any" type if return type is not "Any" Returning Any from function declared to return "Optional[str]" . Code line: return job_id
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:253 Check that every function has an annotation Function is missing a return type annotation . Code line: def abort_job(self, url: str):
python:mypy_no_untyped_def (MINOR) source_salesforce/streams.py:258 Check that every function has an annotation Function is missing a return type annotation . Code line: def delete_job(self, url: str):
python:mypy_return (MINOR) source_salesforce/streams.py:261 Check that function always returns a value Missing return statement . Code line: def next_page_token(self, last_record: dict) -> str:
python:mypy_override (MINOR) source_salesforce/streams.py:282 Check that method override is compatible with base class Signature of "read_records" incompatible with supertype "SalesforceStream" . Code line: def read_records(
python:mypy_misc (MINOR) source_salesforce/streams.py:300 Miscellaneous other checks "object" object is not iterable . Code line: for count, record in self.download_data(url=job_full_url):
python:mypy_has_type (MINOR) source_salesforce/streams.py:308 Check that type of reference can be determined Cannot determine type of "record" . Code line: next_page_token = self.next_page_token(record)
python:mypy_valid_type (MINOR) source_salesforce/streams.py:370 Check that type (annotation) is valid Function "builtins.any" is not valid as a type . Code line: ...e: Mapping[str, Any], stream_slice: Mapping[str, any] = None, next_pag...

Coverage (53.3%)

File Coverage File Coverage
integration_tests/acceptance.py 0.0 integration_tests/bulk_error_test.py 0.0
main.py 0.0 setup.py 0.0
source_salesforce/init.py 100.0 source_salesforce/api.py 65.1
source_salesforce/exceptions.py 100.0 source_salesforce/rate_limiting.py 72.7
source_salesforce/source.py 58.3 source_salesforce/streams.py 82.4
source_salesforce/utils.py 100.0 unit_tests/unit_test.py 0.0

Please sign in to comment.