Skip to content

Commit a3b868c

Browse files
integration_tests
1 parent 759a5f1 commit a3b868c

38 files changed

+485
-0
lines changed

.circleci/config.yml

+4
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131
dbt deps
3232
dbt seed --target postgres --full-refresh
3333
dbt run --target postgres --full-refresh
34+
dbt test --target postgres
3435
- run:
3536
name: "Run Tests - Spark"
3637
command: |
@@ -40,6 +41,7 @@ jobs:
4041
dbt deps
4142
dbt seed --target spark --full-refresh
4243
dbt run --target spark --full-refresh
44+
dbt test --target spark
4345
- run:
4446
name: "Run Tests - Redshift"
4547
command: |
@@ -58,6 +60,7 @@ jobs:
5860
dbt deps
5961
dbt seed --target snowflake --full-refresh
6062
dbt run --target snowflake --full-refresh
63+
dbt test --target snowflake
6164
- run:
6265
name: "Run Tests - BigQuery"
6366
environment:
@@ -70,3 +73,4 @@ jobs:
7073
dbt deps
7174
dbt seed --target bigquery --full-refresh
7275
dbt run --target bigquery --full-refresh
76+
dbt test --target bigquery
+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
2+
# HEY! This file is used in the app_reporting integrations tests with CircleCI.
3+
# You should __NEVER__ check credentials into version control. Thanks for reading :)
4+
5+
config:
6+
send_anonymous_usage_stats: False
7+
use_colors: True
8+
9+
integration_tests:
10+
target: snowflake
11+
outputs:
12+
redshift:
13+
type: redshift
14+
host: "{{ env_var('CI_REDSHIFT_DBT_HOST') }}"
15+
user: "{{ env_var('CI_REDSHIFT_DBT_USER') }}"
16+
pass: "{{ env_var('CI_REDSHIFT_DBT_PASS') }}"
17+
dbname: "{{ env_var('CI_REDSHIFT_DBT_DBNAME') }}"
18+
port: 5439
19+
schema: app_reporting_integration_tests
20+
threads: 8
21+
bigquery:
22+
type: bigquery
23+
method: service-account
24+
keyfile: "{{ env_var('GCLOUD_SERVICE_KEY_PATH') }}"
25+
project: 'dbt-package-testing'
26+
schema: app_reporting_integration_tests
27+
threads: 8
28+
snowflake:
29+
type: snowflake
30+
account: "{{ env_var('CI_SNOWFLAKE_DBT_ACCOUNT') }}"
31+
user: "{{ env_var('CI_SNOWFLAKE_DBT_USER') }}"
32+
password: "{{ env_var('CI_SNOWFLAKE_DBT_PASS') }}"
33+
role: "{{ env_var('CI_SNOWFLAKE_DBT_ROLE') }}"
34+
database: "{{ env_var('CI_SNOWFLAKE_DBT_DATABASE') }}"
35+
warehouse: "{{ env_var('CI_SNOWFLAKE_DBT_WAREHOUSE') }}"
36+
schema: app_reporting_integration_tests
37+
threads: 8
38+
spark:
39+
type: spark
40+
method: http
41+
schema: app_reporting_integration_test
42+
host: "{{ env_var('CI_SPARK_DBT_HOST') }}"
43+
organization: "{{ env_var('CI_SPARK_DBT_ORGANIZATION') }}"
44+
token: "{{ env_var('CI_SPARK_DBT_TOKEN') }}"
45+
cluster: "{{ env_var('CI_SPARK_DBT_CLUSTER') }}"
46+
port: 443
47+
connect_timeout: 60
48+
connect_retries: 5
49+
threads: 4
50+
postgres:
51+
type: postgres
52+
host: "{{ env_var('CI_POSTGRES_DBT_HOST') }}"
53+
user: "{{ env_var('CI_POSTGRES_DBT_USER') }}"
54+
password: "{{ env_var('CI_POSTGRES_DBT_PASS') }}"
55+
port: 5432
56+
dbname: "{{ env_var('CI_POSTGRES_DBT_DBNAME') }}"
57+
schema: app_reporting_integration_tests
58+
threads: 8
59+
keepalives_idle: 0
60+
sslmode: prefer

integration_tests/dbt_project.yml

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: 'app_reporting_integration_tests'
2+
version: '0.1.0'
3+
profile: 'integration_tests'
4+
config-version: 2
5+
6+
vars:
7+
google_play_source:
8+
stats_installs_app_version: "{{ ref('stats_installs_app_version') }}"
9+
stats_crashes_app_version: "{{ ref('stats_crashes_app_version') }}"
10+
stats_ratings_app_version: "{{ ref('stats_ratings_app_version') }}"
11+
stats_installs_device: "{{ ref('stats_installs_device') }}"
12+
stats_ratings_device: "{{ ref('stats_ratings_device') }}"
13+
stats_installs_os_version: "{{ ref('stats_installs_os_version') }}"
14+
stats_ratings_os_version: "{{ ref('stats_ratings_os_version') }}"
15+
stats_crashes_os_version: "{{ ref('stats_crashes_os_version') }}"
16+
stats_installs_country: "{{ ref('stats_installs_country') }}"
17+
stats_ratings_country: "{{ ref('stats_ratings_country') }}"
18+
stats_store_performance_country: "{{ ref('stats_store_performance_country') }}"
19+
stats_store_performance_traffic_source: "{{ ref('stats_store_performance_traffic_source') }}"
20+
stats_installs_overview: "{{ ref('stats_installs_overview') }}"
21+
stats_crashes_overview: "{{ ref('stats_crashes_overview') }}"
22+
stats_ratings_overview: "{{ ref('stats_ratings_overview') }}"
23+
earnings: "{{ ref('earnings') }}"
24+
financial_stats_subscriptions_country: "{{ ref('financial_stats_subscriptions_country') }}"
25+
26+
apple_store_source:
27+
app: "{{ ref('app') }}"
28+
app_store_device: "{{ ref('app_store_source_type_device') }}"
29+
usage_device: "{{ ref('usage_source_type_device') }}"
30+
downloads_device: "{{ ref('downloads_source_type_device') }}"
31+
32+
app_store_territory: "{{ ref('app_store_territory_source_type') }}"
33+
downloads_territory: "{{ ref('downloads_territory_source_type') }}"
34+
usage_territory: "{{ ref('usage_territory_source_type') }}"
35+
36+
app_store_platform_version: "{{ ref('app_store_platform_version_source_type') }}"
37+
crashes_platform_version: "{{ ref('crashes_platform_version') }}"
38+
downloads_platform_version: "{{ ref('downloads_platform_version_source_type') }}"
39+
usage_platform_version: "{{ ref('usage_platform_version_source_type') }}"
40+
41+
crashes_app_version: "{{ ref('crashes_app_version') }}"
42+
usage_app_version: "{{ ref('usage_app_version_source_type') }}"
43+
44+
sales_account: "{{ ref('sales_account') }}"
45+
sales_subscription_events: "{{ ref('sales_subscription_events') }}"
46+
sales_subscription_summary: "{{ ref('sales_subscription_summary') }}"
47+
48+
apple_store__subscription_events:
49+
- 'Renew'
50+
- 'Cancel'
51+
- 'Subscribe'
52+
53+
dispatch:
54+
- macro_namespace: dbt_utils
55+
search_order: ['spark_utils', 'dbt_utils']
56+
57+
58+
seeds:
59+
app_reporting_integration_tests:
60+
+quote_columns: "{{ true if target.type == 'redshift' else false }}"
61+
+column_types:
62+
_fivetran_synced: timestamp
63+
stats_installs_overview:
64+
+column_types:
65+
active_device_installs: "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}"
66+
stats_ratings_app_version:
67+
+column_types:
68+
app_version_code: "{{ 'int64' if target.type == 'bigquery' else 'bigint' }}"

integration_tests/packages.yml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
packages:
2+
- local: ../

integration_tests/requirements.txt

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
dbt-snowflake~=1.0.0
2+
dbt-bigquery~=1.0.0
3+
dbt-redshift~=1.0.0
4+
dbt-postgres~=1.0.0
5+
dbt-spark~=1.0.0
6+
dbt-spark[PyHive]~=1.0.0

integration_tests/seeds/app.csv

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
id,is_enabled,name,asset_token,pre_order_info,icon_url,app_opt_in_rate,ios,tvos,is_bundle,_fivetran_synced
2+
12345,True,Super Cool Name,Random Asset Token,,Random Icon URL,10,True,False,False,2022-01-02 12:34:56.789000+00:00
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
app_id,date,platform_version,source_type,meets_threshold,impressions,_fivetran_synced,impressions_unique_device,page_views,page_views_unique_device
2+
12345,2021-08-01 00:00:00+00:00,iOS 1.0,App Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
3+
12345,2021-07-01 00:00:00+00:00,iOS 1.0,App Store Search,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
4+
12345,2021-08-02 00:00:00+00:00,iOS 1.0,App Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
5+
12345,2021-08-03 00:00:00+00:00,iOS 1.0,App Referrer,True,30,2022-01-02 12:34:56.789000+00:00,28,30,28
6+
12345,2021-08-04 00:00:00+00:00,iOS 1.0,App Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
7+
12345,2021-04-18 00:00:00+00:00,iOS 1.0,App Store Browse,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
8+
12345,2021-04-19 00:00:00+00:00,iOS 1.0,App Store Browse,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
9+
12345,2020-12-04 00:00:00+00:00,iOS 1.0,Unavailable,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
10+
12345,2021-01-31 00:00:00+00:00,iOS 1.0,Web Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
11+
12345,2020-12-25 00:00:00+00:00,iOS 1.0,Unavailable,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
app_id,date,device,source_type,meets_threshold,impressions,_fivetran_synced,impressions_unique_device,page_views,page_views_unique_device
2+
12345,2021-10-03 00:00:00+00:00,iPhone,Unavailable,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
3+
12345,2021-08-23 00:00:00+00:00,iPad,App Store Browse,True,8,2022-01-02 12:34:56.789000+00:00,5,5,4
4+
12345,2021-10-06 00:00:00+00:00,iPhone,App Store Search,True,1210,2022-01-02 12:34:56.789000+00:00,732,146,103
5+
12345,2021-03-17 00:00:00+00:00,iPhone,App Store Search,True,1757,2022-01-02 12:34:56.789000+00:00,1113,209,151
6+
12345,2021-02-24 00:00:00+00:00,Desktop,Unavailable,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
7+
12345,2021-06-06 00:00:00+00:00,iPad,Unavailable,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
8+
12345,2020-11-15 00:00:00+00:00,iPad,Unavailable,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
9+
12345,2021-06-24 00:00:00+00:00,iPad,Unavailable,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
10+
12345,2021-03-17 00:00:00+00:00,Desktop,App Store Search,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
11+
12345,2021-07-12 00:00:00+00:00,Desktop,Institutional Purchase,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
app_id,date,source_type,territory,meets_threshold,impressions,_fivetran_synced,impressions_unique_device,page_views,page_views_unique_device
2+
12345,2021-09-17 00:00:00+00:00,App Referrer,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
3+
12345,2020-12-29 00:00:00+00:00,App Store Search,Canada,True,1,2022-01-02 12:34:56.789000+00:00,1,0,0
4+
12345,2021-01-26 00:00:00+00:00,Unavailable,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
5+
12345,2020-12-04 00:00:00+00:00,App Store Browse,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
6+
12345,2021-06-09 00:00:00+00:00,Web Referrer,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
7+
12345,2021-10-05 00:00:00+00:00,App Store Search,Canada,True,47,2022-01-02 12:34:56.789000+00:00,30,5,4
8+
12345,2021-05-21 00:00:00+00:00,Unavailable,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
9+
12345,2021-05-09 00:00:00+00:00,App Store Browse,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
10+
12345,2021-05-18 00:00:00+00:00,App Store Search,Canada,True,3,2022-01-02 12:34:56.789000+00:00,2,1,1
11+
12345,2021-10-21 00:00:00+00:00,App Store Search,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
app_id,app_version,date,device,meets_threshold,crashes,_fivetran_synced
2+
12345,1.0.0 (iOS),2021-01-22 00:00:00+00:00,iPod,True,0,2022-01-02 12:34:56.789000+00:00
3+
12345,1.0.0 (iOS),2021-01-07 00:00:00+00:00,iPod,True,0,2022-01-02 12:34:56.789000+00:00
4+
12345,1.0.0 (iOS),2020-11-15 00:00:00+00:00,iPod,True,0,2022-01-02 12:34:56.789000+00:00
5+
12345,1.0.0 (iOS),2021-06-18 00:00:00+00:00,iPhone,True,0,2022-01-02 12:34:56.789000+00:00
6+
12345,1.0.0 (iOS),2021-07-30 00:00:00+00:00,Desktop,True,0,2022-01-02 12:34:56.789000+00:00
7+
12345,1.0.0 (iOS),2021-05-02 00:00:00+00:00,iPad,True,0,2022-01-02 12:34:56.789000+00:00
8+
12345,1.0.0 (iOS),2021-06-19 00:00:00+00:00,iPhone,True,0,2022-01-02 12:34:56.789000+00:00
9+
12345,1.0.0 (iOS),2020-12-05 00:00:00+00:00,Desktop,True,0,2022-01-02 12:34:56.789000+00:00
10+
12345,1.0.0 (iOS),2020-12-21 00:00:00+00:00,iPod,True,0,2022-01-02 12:34:56.789000+00:00
11+
12345,1.0.0 (iOS),2021-04-12 00:00:00+00:00,iPod,True,0,2022-01-02 12:34:56.789000+00:00
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
app_id,date,device,platform_version,meets_threshold,crashes,_fivetran_synced
2+
12345,2021-05-10 00:00:00+00:00,iPad,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
3+
12345,2021-05-13 00:00:00+00:00,iPad,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
4+
12345,2021-05-12 00:00:00+00:00,iPod,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
5+
12345,2021-05-11 00:00:00+00:00,iPod,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
6+
12345,2021-07-25 00:00:00+00:00,iPhone,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
7+
12345,2021-09-11 00:00:00+00:00,iPad,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
8+
12345,2021-04-10 00:00:00+00:00,iPhone,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
9+
12345,2021-04-11 00:00:00+00:00,iPhone,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
10+
12345,2021-01-03 00:00:00+00:00,iPhone,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
11+
12345,2021-05-28 00:00:00+00:00,iPad,iOS 1.0,True,0,2022-01-02 12:34:56.789000+00:00
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
app_id,date,platform_version,source_type,meets_threshold,first_time_downloads,_fivetran_synced,redownloads,total_downloads
2+
12345,2021-04-05 00:00:00+00:00,iOS 1.0,App Store Search,True,0,2022-01-02 12:34:56.789000+00:00,0,0
3+
12345,2021-05-27 00:00:00+00:00,iOS 1.0,App Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0
4+
12345,2021-04-06 00:00:00+00:00,iOS 1.0,App Store Search,True,0,2022-01-02 12:34:56.789000+00:00,0,0
5+
12345,2021-05-28 00:00:00+00:00,iOS 1.0,App Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0
6+
12345,2021-04-27 00:00:00+00:00,iOS 1.0,App Store Search,True,0,2022-01-02 12:34:56.789000+00:00,0,0
7+
12345,2021-05-11 00:00:00+00:00,iOS 1.0,Unavailable,True,0,2022-01-02 12:34:56.789000+00:00,0,0
8+
12345,2021-05-29 00:00:00+00:00,iOS 1.0,App Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0
9+
12345,2021-04-26 00:00:00+00:00,iOS 1.0,App Store Search,True,0,2022-01-02 12:34:56.789000+00:00,0,0
10+
12345,2021-06-17 00:00:00+00:00,iOS 1.0,Web Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0
11+
12345,2021-05-30 00:00:00+00:00,iOS 1.0,App Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
app_id,date,device,source_type,meets_threshold,first_time_downloads,_fivetran_synced,redownloads,total_downloads
2+
12345,2021-09-04 00:00:00+00:00,iPhone,Web Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0
3+
12345,2022-01-07 00:00:00+00:00,iPad,App Store Browse,True,1,2022-01-02 12:34:56.789000+00:00,7,8
4+
12345,2021-07-14 00:00:00+00:00,iPhone,App Store Search,True,153,2022-01-02 12:34:56.789000+00:00,0,153
5+
12345,2021-05-01 00:00:00+00:00,iPhone,App Store Browse,True,1,2022-01-02 12:34:56.789000+00:00,0,1
6+
12345,2021-09-15 00:00:00+00:00,Desktop,Institutional Purchase,True,0,2022-01-02 12:34:56.789000+00:00,0,0
7+
12345,2021-08-31 00:00:00+00:00,iPod,App Store Search,True,0,2022-01-02 12:34:56.789000+00:00,0,0
8+
12345,2021-06-18 00:00:00+00:00,iPod,App Store Browse,True,0,2022-01-02 12:34:56.789000+00:00,0,0
9+
12345,2021-04-02 00:00:00+00:00,iPod,Web Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0
10+
12345,2022-03-08 00:00:00+00:00,Desktop,Web Referrer,True,0,2022-01-02 12:34:56.789000+00:00,0,0
11+
12345,2021-09-02 00:00:00+00:00,iPhone,App Referrer,True,5,2022-01-02 12:34:56.789000+00:00,3,8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
app_id,date,source_type,territory,meets_threshold,first_time_downloads,_fivetran_synced,redownloads,total_downloads
2+
12345,2021-10-25 00:00:00+00:00,App Store Search,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0
3+
12345,2021-05-08 00:00:00+00:00,Web Referrer,Canada,True,1,2022-01-02 12:34:56.789000+00:00,0,1
4+
12345,2021-09-30 00:00:00+00:00,App Store Search,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0
5+
12345,2021-11-11 00:00:00+00:00,App Store Search,Canada,True,1,2022-01-02 12:34:56.789000+00:00,0,1
6+
12345,2022-01-10 00:00:00+00:00,Web Referrer,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0
7+
12345,2021-06-18 00:00:00+00:00,App Store Search,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0
8+
12345,2021-11-27 00:00:00+00:00,Web Referrer,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0
9+
12345,2021-07-15 00:00:00+00:00,App Referrer,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0
10+
12345,2021-04-07 00:00:00+00:00,Unavailable,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0
11+
12345,2021-06-05 00:00:00+00:00,App Referrer,Canada,True,0,2022-01-02 12:34:56.789000+00:00,0,0

integration_tests/seeds/earnings.csv

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
_file,_line,_modified,description,transaction_date,transaction_time,tax_type,transaction_type,refund_type,product_title,product_id,product_type,sku_id,hardware,buyer_country,buyer_state,buyer_postal_code,buyer_currency,amount_buyer_currency_,currency_conversion_rate,merchant_currency,amount_merchant_currency_,_fivetran_synced,base_plan_id,offer_id
2+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,1,2020-02-13 17:56:18.956000+00:00,GPA.3302-2312-6140-38722..2,"Nov 1, 2019",3:29:44 AM PDT,,Charge,,cable Membership Monthly (cable),member.android.cableshop,1,com.cable.training.8.0.onemonth,,DK,,6855,DKK,22.96,0.14937,USD,3.43,2021-11-04 22:15:38.777000+00:00,,
3+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,17,2020-02-13 17:56:18.956000+00:00,GPA.3381-5593-0155..9,"Nov 1, 2019",1:08:14 PM PDT,,Google fee,,cable Membership Monthly (cable),member.android.cableshop,1,com.cable.training.8.0.onemonth,,US,KY,42262,USD,-1.5,1.0,USD,-1.5,2021-11-04 22:15:38.777000+00:00,,
4+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,33,2020-02-13 17:56:18.956000+00:00,GPA.3326-1494-5385..21,"Nov 2, 2019",4:00:29 AM PDT,,Charge,,cable Membership Monthly (cable),member.android.cableshop,1,com.cable.training.8.0.onemonth,,US,IL,60652,USD,4.99,1.0,USD,4.99,2021-11-04 22:15:38.777000+00:00,,
5+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,49,2020-02-13 17:56:18.956000+00:00,GPA.3352-7168-1993..1,"Nov 2, 2019",7:51:11 PM PDT,,Charge,,cable Membership Monthly (cable),member.android.cableshop,1,com.cable.training.8.0.onemonth,,US,NM,87108,USD,4.99,1.0,USD,4.99,2021-11-04 22:15:38.778000+00:00,,
6+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,65,2020-02-13 17:56:18.956000+00:00,GPA.3323-3643-37864..0,"Nov 3, 2019",7:14:07 AM PST,,Charge,,cable Membership Yearly (cable),member.android.cableshop,1,com.cable.training.8.0.oneyear,,SE,,62195,SEK,254.8,0.10459,USD,26.65,2021-11-04 22:15:38.778000+00:00,,
7+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,81,2020-02-13 17:56:18.956000+00:00,GPA.3375-4287-96450..17,"Nov 3, 2019",2:16:39 PM PST,,Google fee,,cable Membership Monthly (cable),member.android.cableshop,1,com.cable.training.8.0.onemonth,,US,OH,44134,USD,-0.75,1.0,USD,-0.75,2021-11-04 22:15:38.778000+00:00,,
8+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,97,2020-02-13 17:56:18.956000+00:00,GPA.3370-6884-15982..0,"Nov 4, 2019",12:08:29 AM PST,,Charge,,cable Membership Yearly (cable),member.android.cableshop,1,com.cable.training.8.0.oneyear,,SE,,81160,SEK,254.8,0.10455,USD,26.64,2021-11-04 22:15:38.778000+00:00,,
9+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,113,2020-02-13 17:56:18.956000+00:00,GPA.3333-3418-41088..1,"Nov 4, 2019",8:24:50 AM PST,,Charge,,cable Membership Monthly (cable),member.android.cableshop,1,com.cable.training.8.0.onemonth,,AT,,1050,EUR,3.2,1.1148,USD,3.57,2021-11-04 22:15:38.779000+00:00,,
10+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,129,2020-02-13 17:56:18.956000+00:00,GPA.3399-5692--63291..13,"Nov 4, 2019",1:51:42 PM PST,,Google fee,,cable Membership Monthly (cable),member.android.cableshop,1,com.cable.training.8.0.onemonth,,AR,Buenos Aires,7600,USD,-0.75,1.0,USD,-0.75,2021-11-04 22:15:38.779000+00:00,,
11+
earnings_201211_971902757587-81.zip/PlayApps_201911.csv,145,2020-02-13 17:56:18.956000+00:00,GPA.3355-8337-79042..5,"Nov 5, 2019",2:25:46 AM PST,,Charge,,cable Membership Monthly (cable),member.android.cableshop,1,com.cable.training.8.0.onemonth,,AU,,6173,AUD,6.81,0.69238,USD,4.72,2021-11-04 22:15:38.779000+00:00,,

0 commit comments

Comments
 (0)