Пример #1
0
#  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
#  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

import pytest
from dateutil.parser import parse
from iconetl.service.graph_operations import OutOfBoundsError
from iconetl.service.icx_service import IcxService
from iconsdk.icon_service import IconService
from iconsdk.providers.http_provider import HTTPProvider
from tests.utils import skip_if_slow_tests_disabled


@pytest.mark.parametrize(
    "date,expected_start_block,expected_end_block",
    [
        skip_if_slow_tests_disabled(["2018-02-07", 2, 18]),
        skip_if_slow_tests_disabled(["2018-12-31", 155728, 156584]),
        skip_if_slow_tests_disabled(["2019-01-01", 156585, 157566]),
        skip_if_slow_tests_disabled(["2019-12-31", 12975470, 13018226]),
        skip_if_slow_tests_disabled(["2020-01-01", 13018228, 13061082]),
        skip_if_slow_tests_disabled(["2020-01-02", 13061084, 13103934]),
    ],
)
def test_get_block_range_for_date(date, expected_start_block,
                                  expected_end_block):
    icx_service = get_new_icx_service()
    parsed_date = parse(date)
    blocks = icx_service.get_block_range_for_date(parsed_date)
    assert blocks == (expected_start_block, expected_end_block)

Пример #2
0
RESOURCE_GROUP = "test_export_blocks_job"


def read_resource(resource_group, file_name):
    return tests.resources.read_resource([RESOURCE_GROUP, resource_group],
                                         file_name)


@pytest.mark.parametrize(
    "start_block,end_block,batch_size,resource_group,web3_provider_type",
    [
        (10324748, 10324748, 1, "version_01a_block", "mock"),
        (12640760, 12640760, 1, "version_03_block", "mock"),
        (14473621, 14473621, 1, "version_04_block", "mock"),
        (14473622, 14473622, 1, "version_05_block", "mock"),
        skip_if_slow_tests_disabled(
            (10324748, 10324748, 1, "version_01a_block", "public_endpoint")),
        skip_if_slow_tests_disabled(
            (12640760, 12640760, 1, "version_03_block", "public_endpoint")),
        skip_if_slow_tests_disabled(
            (14473621, 14473621, 1, "version_04_block", "public_endpoint")),
        skip_if_slow_tests_disabled(
            (14473622, 14473622, 1, "version_05_block", "public_endpoint")),
    ],
)
def test_export_blocks_job(tmpdir, start_block, end_block, batch_size,
                           resource_group, web3_provider_type):
    blocks_output_file = str(tmpdir.join("actual_blocks.csv"))
    transactions_output_file = str(tmpdir.join("actual_transactions.csv"))

    job = ExportBlocksJob(
        start_block=start_block,
Пример #3
0
    "0x16dbc932b601821b08450ad6f228a6a8e1bfd9cf5a361f0bf42ccf4b0b29be7b",
    "0x1a94bf51895fc4112ccd17f17a382fbe2cc5c0f787595256c98e0669b572c52e",
]

NONETYPE_TX_HASHES = [
    "0xdd2ce505fd1ce157988a9195894c11739d9f1612609f0b91d368010fece78da7"
]


@pytest.mark.parametrize(
    "batch_size,transaction_hashes,output_format,resource_group,web3_provider_type",
    [
        (1, DEFAULT_TX_HASHES, "csv", "receipts_with_logs", "mock"),
        (2, DEFAULT_TX_HASHES, "csv", "receipts_with_logs", "mock"),
        (2, DEFAULT_TX_HASHES, "json", "receipts_with_logs", "mock"),
        skip_if_slow_tests_disabled((1, DEFAULT_TX_HASHES, "csv",
                                     "receipts_with_logs", "public_endpoint")),
        skip_if_slow_tests_disabled((2, DEFAULT_TX_HASHES, "json",
                                     "receipts_with_logs", "public_endpoint")),
        (2, HTML_TX_HASHES, "csv", "html_sanitize", "mock"),
        (2, HTML_TX_HASHES, "json", "html_sanitize", "mock"),
        skip_if_slow_tests_disabled(
            (2, HTML_TX_HASHES, "csv", "html_sanitize", "mock")),
        (2, NONETYPE_TX_HASHES, "csv", "nonetype_data", "mock"),
        (2, NONETYPE_TX_HASHES, "json", "nonetype_data", "mock"),
        skip_if_slow_tests_disabled(
            (2, NONETYPE_TX_HASHES, "csv", "nonetype_data", "mock")),
    ],
)
def test_export_receipts_job(
    tmpdir,
    batch_size,
Пример #4
0
@pytest.mark.parametrize(
    "start_block, end_block, batch_size, resource_group, entity_types, provider_type",
    [
        (
            21388823,
            21388824,
            1,
            "blocks_21388823_21388824",
            EntityType.ALL_FOR_STREAMING,
            "mock",
        ),
        skip_if_slow_tests_disabled(
            [
                21388823,
                21388824,
                1,
                "blocks_21388823_21388824",
                EntityType.ALL_FOR_STREAMING,
                "public_endpoint",
            ]
        ),
    ],
)
def test_stream(
    tmpdir,
    start_block,
    end_block,
    batch_size,
    resource_group,
    entity_types,
    provider_type,
):