Skip to content

Commit

Permalink
Merge pull request #1386 from keboola/inc-17779-sync-column-metadata-…
Browse files Browse the repository at this point in the history
…create-from-time-travel

enable testCreateTypedTableFromTimestamp for snowflake
  • Loading branch information
romanbracinik committed Aug 12, 2024
2 parents d610c9a + 8ed3300 commit f872b33
Showing 1 changed file with 34 additions and 14 deletions.
48 changes: 34 additions & 14 deletions tests/Backend/CommonPart1/TimeTravelTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,16 @@ public function setUp(): void

public function testCreateTypedTableFromTimestamp(): void
{
$this->skipTestForBackend(
[
self::BACKEND_SNOWFLAKE,
],
'Snowflake doesn\'t support time travel from typed table.',
);
$tokenData = $this->_client->verifyToken();
$defaultBackend = $tokenData['owner']['defaultBackend'];

if ($defaultBackend === self::BACKEND_SNOWFLAKE) {
$columnFloat = 'FLOAT';
$columnBoolean = 'BOOLEAN';
} else {
$columnFloat = 'FLOAT64';
$columnBoolean = 'BOOL';
}

$sourceTable = 'languages_' . date('Ymd_His');
$tableDefinition = [
Expand All @@ -53,13 +57,13 @@ public function testCreateTypedTableFromTimestamp(): void
[
'name' => 'column_float',
'definition' => [
'type' => 'FLOAT64',
'type' => $columnFloat,
],
],
[
'name' => 'column_boolean',
'definition' => [
'type' => 'BOOL',
'type' => $columnBoolean,
],
],
[
Expand Down Expand Up @@ -180,24 +184,40 @@ public function testCreateTypedTableFromTimestamp(): void
$timestampColumnMetadata = $metadataClient->listColumnMetadata("{$replicaTableId}.column_timestamp");
$varcharColumnMetadata = $metadataClient->listColumnMetadata("{$replicaTableId}.column_varchar");

if ($defaultBackend === self::BACKEND_SNOWFLAKE) {
$columnInteger = 'NUMBER';
$columnNumeric = 'NUMBER';
$columnFloat = 'FLOAT';
$columnBoolean = 'BOOLEAN';
$columnTimestamp = 'TIMESTAMP_NTZ';
$columnString = 'VARCHAR';
} else {
$columnInteger = 'INTEGER';
$columnNumeric = 'NUMERIC';
$columnFloat = 'FLOAT64';
$columnBoolean = 'BOOL';
$columnTimestamp = 'TIMESTAMP';
$columnString = 'STRING';
}

$this->assertArrayEqualsExceptKeys([
'key' => 'KBC.datatype.type',
'value' => 'INTEGER',
'value' => $columnInteger,
'provider' => 'storage',
], $idColumnMetadata[0], ['id', 'timestamp']);
$this->assertArrayEqualsExceptKeys([
'key' => 'KBC.datatype.type',
'value' => 'NUMERIC',
'value' => $columnNumeric,
'provider' => 'storage',
], $decimalColumnMetadata[0], ['id', 'timestamp']);
$this->assertArrayEqualsExceptKeys([
'key' => 'KBC.datatype.type',
'value' => 'FLOAT64',
'value' => $columnFloat,
'provider' => 'storage',
], $floatColumnMetadata[0], ['id', 'timestamp']);
$this->assertArrayEqualsExceptKeys([
'key' => 'KBC.datatype.type',
'value' => 'BOOL',
'value' => $columnBoolean,
'provider' => 'storage',
], $booleanColumnMetadata[0], ['id', 'timestamp']);
$this->assertArrayEqualsExceptKeys([
Expand All @@ -207,12 +227,12 @@ public function testCreateTypedTableFromTimestamp(): void
], $dateColumnMetadata[0], ['id', 'timestamp']);
$this->assertArrayEqualsExceptKeys([
'key' => 'KBC.datatype.type',
'value' => 'TIMESTAMP',
'value' => $columnTimestamp,
'provider' => 'storage',
], $timestampColumnMetadata[0], ['id', 'timestamp']);
$this->assertArrayEqualsExceptKeys([
'key' => 'KBC.datatype.type',
'value' => 'STRING',
'value' => $columnString,
'provider' => 'storage',
], $varcharColumnMetadata[0], ['id', 'timestamp']);
}
Expand Down

0 comments on commit f872b33

Please sign in to comment.