forest_liana 2.7.0 → 2.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/forest_liana/resources_controller.rb +16 -0
- data/app/services/forest_liana/forest_api_requester.rb +22 -0
- data/app/services/forest_liana/permissions_checker.rb +48 -0
- data/app/services/forest_liana/permissions_getter.rb +29 -0
- data/app/services/forest_liana/users_getter.rb +7 -25
- data/lib/forest_liana/version.rb +1 -1
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +445 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b08bed249ddd6e1952907c833a4d4f237d40570
|
4
|
+
data.tar.gz: f0c5cb42a036d878557deefeaa360ffff9e5f882
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d298b6fc5dc79110893d3215e489cccfab300e68d660adf71e2397d3d0789b5e7551e8f2e261764c17234175f01c68c71bd20072e9dfb5131d5e3544b293ab28
|
7
|
+
data.tar.gz: 683efae48efd13f44662d3fde2ba3d4706bded4e57c2ef63c91925997e36720d33b7df90ef150cd204981ddd535d795ba0baa4f52f455bae66cb75b62e121919
|
@@ -15,6 +15,14 @@ module ForestLiana
|
|
15
15
|
|
16
16
|
def index
|
17
17
|
begin
|
18
|
+
if request.format == 'csv'
|
19
|
+
return head :forbidden unless PermissionsChecker.new(@resource, 'export').is_authorized?
|
20
|
+
elsif params.has_key?(:searchToEdit)
|
21
|
+
return head :forbidden unless PermissionsChecker.new(@resource, 'searchToEdit').is_authorized?
|
22
|
+
else
|
23
|
+
return head :forbidden unless PermissionsChecker.new(@resource, 'list').is_authorized?
|
24
|
+
end
|
25
|
+
|
18
26
|
getter = ForestLiana::ResourcesGetter.new(@resource, params)
|
19
27
|
getter.perform
|
20
28
|
|
@@ -33,6 +41,8 @@ module ForestLiana
|
|
33
41
|
|
34
42
|
def show
|
35
43
|
begin
|
44
|
+
return head :forbidden unless PermissionsChecker.new(@resource, 'show').is_authorized?
|
45
|
+
|
36
46
|
getter = ForestLiana::ResourceGetter.new(@resource, params)
|
37
47
|
getter.perform
|
38
48
|
|
@@ -46,6 +56,8 @@ module ForestLiana
|
|
46
56
|
|
47
57
|
def create
|
48
58
|
begin
|
59
|
+
return head :forbidden unless PermissionsChecker.new(@resource, 'create').is_authorized?
|
60
|
+
|
49
61
|
creator = ForestLiana::ResourceCreator.new(@resource, params)
|
50
62
|
creator.perform
|
51
63
|
|
@@ -67,6 +79,8 @@ module ForestLiana
|
|
67
79
|
|
68
80
|
def update
|
69
81
|
begin
|
82
|
+
return head :forbidden unless PermissionsChecker.new(@resource, 'update').is_authorized?
|
83
|
+
|
70
84
|
updater = ForestLiana::ResourceUpdater.new(@resource, params)
|
71
85
|
updater.perform
|
72
86
|
|
@@ -88,6 +102,8 @@ module ForestLiana
|
|
88
102
|
|
89
103
|
def destroy
|
90
104
|
begin
|
105
|
+
return head :forbidden unless PermissionsChecker.new(@resource, 'delete').is_authorized?
|
106
|
+
|
91
107
|
@resource.destroy(params[:id])
|
92
108
|
head :no_content
|
93
109
|
rescue => error
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module ForestLiana
|
2
|
+
class ForestApiRequester
|
3
|
+
def perform_request
|
4
|
+
http = Net::HTTP.new(@uri.host, @uri.port)
|
5
|
+
http.use_ssl = true if forest_api_url.start_with?('https')
|
6
|
+
|
7
|
+
http.start do |client|
|
8
|
+
request = Net::HTTP::Get.new(@uri.path)
|
9
|
+
request['Content-Type'] = 'application/json'
|
10
|
+
request['forest-secret-key'] = ForestLiana.env_secret
|
11
|
+
request['forest-token'] = @forest_token if @forest_token
|
12
|
+
response = client.request(request)
|
13
|
+
|
14
|
+
handle_service_response(response)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def forest_api_url
|
19
|
+
ENV['FOREST_URL'] || 'https://api.forestadmin.com';
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module ForestLiana
|
2
|
+
class PermissionsChecker
|
3
|
+
@@permissions = nil
|
4
|
+
@@last_retrieve = nil
|
5
|
+
@@expiration_in_seconds = (ENV['FOREST_PERMISSIONS_EXPIRATION_IN_SECONDS'] || 3600).to_i
|
6
|
+
|
7
|
+
def initialize(resource, permission_name)
|
8
|
+
@collection_name = ForestLiana.name_for(resource)
|
9
|
+
@permission_name = permission_name
|
10
|
+
end
|
11
|
+
|
12
|
+
def is_authorized?
|
13
|
+
(is_permission_expired? || !is_allowed?) ? retrieve_permissions_and_check_allowed : true
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def is_allowed?
|
19
|
+
if @@permissions && @@permissions[@collection_name] &&
|
20
|
+
@@permissions[@collection_name]['collection']
|
21
|
+
@@permissions[@collection_name]['collection'][@permission_name]
|
22
|
+
else
|
23
|
+
false
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def retrieve_permissions
|
28
|
+
@@permissions = PermissionsGetter.new.perform
|
29
|
+
@@last_retrieve = Time.now
|
30
|
+
end
|
31
|
+
|
32
|
+
def date_difference_in_seconds(date1, date2)
|
33
|
+
(date1 - date2).to_i
|
34
|
+
end
|
35
|
+
|
36
|
+
def is_permission_expired?
|
37
|
+
return true if @@last_retrieve.nil?
|
38
|
+
|
39
|
+
elapsed_seconds = date_difference_in_seconds(Time.now, @@last_retrieve)
|
40
|
+
elapsed_seconds >= @@expiration_in_seconds
|
41
|
+
end
|
42
|
+
|
43
|
+
def retrieve_permissions_and_check_allowed
|
44
|
+
retrieve_permissions
|
45
|
+
is_allowed?
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module ForestLiana
|
2
|
+
class PermissionsGetter < ForestApiRequester
|
3
|
+
def initialize
|
4
|
+
@uri = URI.parse("#{forest_api_url}/liana/v1/permissions")
|
5
|
+
end
|
6
|
+
|
7
|
+
def perform
|
8
|
+
perform_request
|
9
|
+
rescue => exception
|
10
|
+
FOREST_LOGGER.error "Cannot retrieve the permissions for the project you\'re trying to unlock. Forest API seems to be down right now."
|
11
|
+
FOREST_LOGGER.error exception
|
12
|
+
nil
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def handle_service_response(response)
|
18
|
+
if response.is_a?(Net::HTTPOK)
|
19
|
+
JSON.parse(response.body)
|
20
|
+
elsif response.is_a?(Net::HTTPNotFound) || response.is_a?(Net::HTTPUnprocessableEntity)
|
21
|
+
FOREST_LOGGER.error "Cannot retrieve the permissions from the Forest server. Can you check that you properly set up the forest_env_secret?"
|
22
|
+
nil
|
23
|
+
else
|
24
|
+
FOREST_LOGGER.error "Cannot retrieve the data from the Forest server. An error occured in Forest API."
|
25
|
+
nil
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -1,37 +1,19 @@
|
|
1
1
|
module ForestLiana
|
2
|
-
class UsersGetter
|
2
|
+
class UsersGetter < ForestApiRequester
|
3
3
|
def initialize(endpoint, rendering_id)
|
4
|
-
@uri = URI.parse("#{
|
4
|
+
@uri = URI.parse("#{forest_api_url}/forest/renderings/#{rendering_id}/#{endpoint}")
|
5
5
|
end
|
6
6
|
|
7
7
|
def perform
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
request = Net::HTTP::Get.new(@uri.path)
|
14
|
-
request['Content-Type'] = 'application/json'
|
15
|
-
request['forest-secret-key'] = ForestLiana.env_secret
|
16
|
-
request['forest-token'] = @forest_token if @forest_token
|
17
|
-
response = client.request(request)
|
18
|
-
|
19
|
-
handle_service_response(response)
|
20
|
-
end
|
21
|
-
rescue => exception
|
22
|
-
puts exception
|
23
|
-
FOREST_LOGGER.error "Cannot retrieve any users for the project " \
|
24
|
-
"you\'re trying to unlock. Forest API seems to be down right now."
|
25
|
-
nil
|
26
|
-
end
|
8
|
+
perform_request
|
9
|
+
rescue => exception
|
10
|
+
FOREST_LOGGER.error "Cannot retrieve any users for the project you\'re trying to unlock. Forest API seems to be down right now."
|
11
|
+
FOREST_LOGGER.error exception
|
12
|
+
nil
|
27
13
|
end
|
28
14
|
|
29
15
|
private
|
30
16
|
|
31
|
-
def forest_url
|
32
|
-
ENV['FOREST_URL'] || 'https://api.forestadmin.com';
|
33
|
-
end
|
34
|
-
|
35
17
|
def handle_service_response
|
36
18
|
raise 'Abstract class method, this method must be implemented.'
|
37
19
|
end
|
data/lib/forest_liana/version.rb
CHANGED
data/test/dummy/db/test.sqlite3
CHANGED
Binary file
|
data/test/dummy/log/test.log
CHANGED
@@ -22196,3 +22196,448 @@ ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_sort_parameter
|
|
22196
22196
|
[1m[35m (0.1ms)[0m SELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count [["owner_id", 1]]
|
22197
22197
|
[1m[36mSQL (0.1ms)[0m [1mSELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY trees.id DESC LIMIT 1 OFFSET 0[0m [["owner_id", 1]]
|
22198
22198
|
[1m[35m (0.1ms)[0m rollback transaction
|
22199
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
22200
|
+
[1m[35mActiveRecord::SchemaMigration Load (0.1ms)[0m SELECT "schema_migrations".* FROM "schema_migrations"
|
22201
|
+
[1m[36m (0.1ms)[0m [1m SELECT sql
|
22202
|
+
FROM sqlite_master
|
22203
|
+
WHERE name='index_belongs_to_class_name_fields_on_foo_id' AND type='index'
|
22204
|
+
UNION ALL
|
22205
|
+
SELECT sql
|
22206
|
+
FROM sqlite_temp_master
|
22207
|
+
WHERE name='index_belongs_to_class_name_fields_on_foo_id' AND type='index'
|
22208
|
+
[0m
|
22209
|
+
[1m[35m (0.1ms)[0m SELECT sql
|
22210
|
+
FROM sqlite_master
|
22211
|
+
WHERE name='index_belongs_to_fields_on_has_many_field_id' AND type='index'
|
22212
|
+
UNION ALL
|
22213
|
+
SELECT sql
|
22214
|
+
FROM sqlite_temp_master
|
22215
|
+
WHERE name='index_belongs_to_fields_on_has_many_field_id' AND type='index'
|
22216
|
+
|
22217
|
+
[1m[36m (0.1ms)[0m [1m SELECT sql
|
22218
|
+
FROM sqlite_master
|
22219
|
+
WHERE name='index_belongs_to_fields_on_has_many_class_name_field_id' AND type='index'
|
22220
|
+
UNION ALL
|
22221
|
+
SELECT sql
|
22222
|
+
FROM sqlite_temp_master
|
22223
|
+
WHERE name='index_belongs_to_fields_on_has_many_class_name_field_id' AND type='index'
|
22224
|
+
[0m
|
22225
|
+
[1m[35m (0.1ms)[0m SELECT sql
|
22226
|
+
FROM sqlite_master
|
22227
|
+
WHERE name='index_belongs_to_fields_on_has_one_field_id' AND type='index'
|
22228
|
+
UNION ALL
|
22229
|
+
SELECT sql
|
22230
|
+
FROM sqlite_temp_master
|
22231
|
+
WHERE name='index_belongs_to_fields_on_has_one_field_id' AND type='index'
|
22232
|
+
|
22233
|
+
[1m[36m (0.2ms)[0m [1m SELECT sql
|
22234
|
+
FROM sqlite_master
|
22235
|
+
WHERE name='index_has_many_fields_on_has_many_through_field_id' AND type='index'
|
22236
|
+
UNION ALL
|
22237
|
+
SELECT sql
|
22238
|
+
FROM sqlite_temp_master
|
22239
|
+
WHERE name='index_has_many_fields_on_has_many_through_field_id' AND type='index'
|
22240
|
+
[0m
|
22241
|
+
[1m[35m (0.1ms)[0m SELECT sql
|
22242
|
+
FROM sqlite_master
|
22243
|
+
WHERE name='index_polymorphic_fields_on_has_one_field_id' AND type='index'
|
22244
|
+
UNION ALL
|
22245
|
+
SELECT sql
|
22246
|
+
FROM sqlite_temp_master
|
22247
|
+
WHERE name='index_polymorphic_fields_on_has_one_field_id' AND type='index'
|
22248
|
+
|
22249
|
+
[1m[36m (0.1ms)[0m [1m SELECT sql
|
22250
|
+
FROM sqlite_master
|
22251
|
+
WHERE name='index_trees_on_owner_id' AND type='index'
|
22252
|
+
UNION ALL
|
22253
|
+
SELECT sql
|
22254
|
+
FROM sqlite_temp_master
|
22255
|
+
WHERE name='index_trees_on_owner_id' AND type='index'
|
22256
|
+
[0m
|
22257
|
+
[1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
|
22258
|
+
[1m[35m (0.1ms)[0m begin transaction
|
22259
|
+
[1m[36mFixture Delete (0.6ms)[0m [1mDELETE FROM "has_many_through_fields"[0m
|
22260
|
+
[1m[35mFixture Insert (0.5ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (1)
|
22261
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (2)[0m
|
22262
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (3)
|
22263
|
+
[1m[36mFixture Insert (0.2ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (4)[0m
|
22264
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (5)
|
22265
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (6)[0m
|
22266
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (7)
|
22267
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (8)[0m
|
22268
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_through_fields" ("id") VALUES (9)
|
22269
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_through_fields" ("id") VALUES (10)[0m
|
22270
|
+
[1m[35mFixture Delete (0.4ms)[0m DELETE FROM "string_fields"
|
22271
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (1, 'Test 1')[0m
|
22272
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (2, 'Test 2')
|
22273
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (3, 'Test 3')[0m
|
22274
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (4, 'Test 4')
|
22275
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (5, 'Test 5')[0m
|
22276
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (6, 'Test 6')
|
22277
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (7, 'Test 7')[0m
|
22278
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (8, 'Test 8')
|
22279
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (9, 'Test 9')[0m
|
22280
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (10, 'Test 10')
|
22281
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (11, 'Test 11')[0m
|
22282
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (12, 'Test 12')
|
22283
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (13, 'Test 13')[0m
|
22284
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (14, 'Test 14')
|
22285
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (15, 'Test 15')[0m
|
22286
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (16, 'Test 16')
|
22287
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (17, 'Test 17')[0m
|
22288
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (18, 'Test 18')
|
22289
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (19, 'Test 19')[0m
|
22290
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (20, 'Test 20')
|
22291
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (21, 'Test 21')[0m
|
22292
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (22, 'Test 22')
|
22293
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (23, 'Test 23')[0m
|
22294
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (24, 'Test 24')
|
22295
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (25, 'Test 25')[0m
|
22296
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (26, 'Test 26')
|
22297
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (27, 'Test 27')[0m
|
22298
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (28, 'Test 28')
|
22299
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "string_fields" ("id", "field") VALUES (29, 'Test 29')[0m
|
22300
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "string_fields" ("id", "field") VALUES (30, 'Test 30')
|
22301
|
+
[1m[36mFixture Delete (1.2ms)[0m [1mDELETE FROM "belongs_to_fields"[0m
|
22302
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (1, 1, 1)
|
22303
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (2, 2, 1)[0m
|
22304
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (3, 3, 1)
|
22305
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (4, 4, 2)[0m
|
22306
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (5, 5, 2)
|
22307
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (6, 6, 2)[0m
|
22308
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (7, 7, 3)
|
22309
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (8, 8, 3)[0m
|
22310
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (9, 9, 3)
|
22311
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (10, 10, 4)[0m
|
22312
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (11, 11, 4)
|
22313
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (12, 12, 4)[0m
|
22314
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (13, 13, 5)
|
22315
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (14, 14, 5)[0m
|
22316
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (15, 15, 5)
|
22317
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (16, 16, 6)[0m
|
22318
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (17, 17, 6)
|
22319
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (18, 18, 6)[0m
|
22320
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (19, 19, 7)
|
22321
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (20, 20, 7)[0m
|
22322
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (21, 21, 7)
|
22323
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (22, 22, 7)[0m
|
22324
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (23, 23, 8)
|
22325
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (24, 24, 8)[0m
|
22326
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (25, 25, 9)
|
22327
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (26, 26, 9)[0m
|
22328
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (27, 27, 9)
|
22329
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (28, 28, 10)[0m
|
22330
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (29, 29, 10)
|
22331
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "belongs_to_fields" ("id", "has_one_field_id", "has_many_field_id") VALUES (30, 30, 10)[0m
|
22332
|
+
[1m[35mFixture Delete (0.8ms)[0m DELETE FROM "trees"
|
22333
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (1, 'Oak', 1, '2011-02-11 11:00:00.000000', '2011-02-11 11:00:00.000000')[0m
|
22334
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (2, 'Mapple', 2, '2011-02-15 21:00:00.000000', '2011-02-15 21:00:00.000000')
|
22335
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (3, 'Mapple', 2, '2013-04-11 12:00:00.000000', '2013-04-11 12:00:00.000000')[0m
|
22336
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (4, 'Oak', 2, '2016-06-18 09:00:00.000000', '2016-06-18 09:00:00.000000')
|
22337
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (5, 'Oak', 3, '2015-06-18 09:00:00.000000', '2015-06-18 09:00:00.000000')[0m
|
22338
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (6, 'Oak', 3, '2018-06-05 12:19:23.000000', '2018-06-05 12:19:23.000000')
|
22339
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (7, 'Sequoia', 1, '2018-06-05 12:19:23.000000', '2018-06-05 12:19:23.000000')[0m
|
22340
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "trees" ("id", "name", "owner_id", "created_at", "updated_at") VALUES (8, 'Fir', 1, '2018-06-05 12:19:23.000000', '2018-06-05 12:19:23.000000')
|
22341
|
+
[1m[36mFixture Delete (0.5ms)[0m [1mDELETE FROM "has_one_fields"[0m
|
22342
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (1, 't', 0)
|
22343
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (2, 't', 0)[0m
|
22344
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (3, 't', 0)
|
22345
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (4, 't', 0)[0m
|
22346
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (5, 't', 0)
|
22347
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (6, 't', 0)[0m
|
22348
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (7, 't', 0)
|
22349
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (8, 't', 0)[0m
|
22350
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (9, 't', 0)
|
22351
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (10, 't', 0)[0m
|
22352
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (11, 't', 0)
|
22353
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (12, 't', 0)[0m
|
22354
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (13, 't', 0)
|
22355
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (14, 't', 0)[0m
|
22356
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (15, 't', 0)
|
22357
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (16, 't', 0)[0m
|
22358
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (17, 't', 0)
|
22359
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (18, 't', 0)[0m
|
22360
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (19, 't', 0)
|
22361
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (20, 't', 0)[0m
|
22362
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (21, 't', 0)
|
22363
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (22, 't', 0)[0m
|
22364
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (23, 't', 0)
|
22365
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (24, 't', 0)[0m
|
22366
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (25, 't', 0)
|
22367
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (26, 't', 0)[0m
|
22368
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (27, 't', 0)
|
22369
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (28, 't', 0)[0m
|
22370
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (29, 't', 0)
|
22371
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_one_fields" ("id", "checked", "status") VALUES (30, 't', 1)[0m
|
22372
|
+
[1m[35mFixture Delete (0.4ms)[0m DELETE FROM "owners"
|
22373
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (1, 'Sandro Munda', '2017-05-30 09:00:00.000000', '2018-06-27 20:00:00.000000')[0m
|
22374
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (2, 'Arnaud Besnier', '2018-05-02 09:00:00.000000', '2018-06-28 08:00:00.000000')
|
22375
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "owners" ("id", "name", "created_at", "updated_at") VALUES (3, 'John Doe', '2016-05-02 09:00:00.000000', '2017-06-28 08:00:00.000000')[0m
|
22376
|
+
[1m[35mFixture Delete (1.0ms)[0m DELETE FROM "has_many_fields"
|
22377
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_many_fields" ("id") VALUES (1)[0m
|
22378
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "has_many_fields" ("id") VALUES (2)
|
22379
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_fields" ("id") VALUES (3)[0m
|
22380
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_fields" ("id") VALUES (4)
|
22381
|
+
[1m[36mFixture Insert (0.1ms)[0m [1mINSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (5, 3)[0m
|
22382
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (6, 2)
|
22383
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_fields" ("id") VALUES (7)[0m
|
22384
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_fields" ("id", "has_many_through_field_id") VALUES (8, 2)
|
22385
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "has_many_fields" ("id") VALUES (9)[0m
|
22386
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "has_many_fields" ("id") VALUES (10)
|
22387
|
+
[1m[36mFixture Delete (0.1ms)[0m [1mDELETE FROM "serialize_fields"[0m
|
22388
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "serialize_fields" ("id", "field") VALUES (1, 'value 1')
|
22389
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "serialize_fields" ("id", "field") VALUES (2, 'value 2')[0m
|
22390
|
+
[1m[35mFixture Insert (0.1ms)[0m INSERT INTO "serialize_fields" ("id", "field") VALUES (3, 'value 3')
|
22391
|
+
[1m[36mFixture Insert (0.0ms)[0m [1mINSERT INTO "serialize_fields" ("id", "field") VALUES (4, 'value 4')[0m
|
22392
|
+
[1m[35mFixture Insert (0.0ms)[0m INSERT INTO "serialize_fields" ("id", "field") VALUES (5, 'value 5')
|
22393
|
+
[1m[36m (1.9ms)[0m [1mcommit transaction[0m
|
22394
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22395
|
+
---------------------------
|
22396
|
+
ForestLianaTest: test_truth
|
22397
|
+
---------------------------
|
22398
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22399
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22400
|
+
---------------------------------------------------------------------
|
22401
|
+
ForestLiana::SchemaAdapterTest: test_Date_should_have_the_type_`Date`
|
22402
|
+
---------------------------------------------------------------------
|
22403
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
22404
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22405
|
+
---------------------------------------------------------
|
22406
|
+
ForestLiana::SchemaAdapterTest: test_hasMany_relationship
|
22407
|
+
---------------------------------------------------------
|
22408
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
22409
|
+
[1m[35m (0.1ms)[0m begin transaction
|
22410
|
+
-----------------------------------------------------------
|
22411
|
+
ForestLiana::SchemaAdapterTest: test_belongsTo_relationship
|
22412
|
+
-----------------------------------------------------------
|
22413
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
22414
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22415
|
+
------------------------------------------------------------------------
|
22416
|
+
ForestLiana::SchemaAdapterTest: test_Float_should_have_the_type_`Number`
|
22417
|
+
------------------------------------------------------------------------
|
22418
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22419
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22420
|
+
-------------------------------------------------------------------------
|
22421
|
+
ForestLiana::SchemaAdapterTest: test_String_should_have_the_type_`String`
|
22422
|
+
-------------------------------------------------------------------------
|
22423
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22424
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22425
|
+
--------------------------------------------------------
|
22426
|
+
ForestLiana::SchemaAdapterTest: test_hasOne_relationship
|
22427
|
+
--------------------------------------------------------
|
22428
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22429
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22430
|
+
----------------------------------------------------------------------------------
|
22431
|
+
ForestLiana::SchemaAdapterTest: test_hasMany_relationhip_with_specified_class_name
|
22432
|
+
----------------------------------------------------------------------------------
|
22433
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22434
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22435
|
+
------------------------------------------------------------------------------------
|
22436
|
+
ForestLiana::SchemaAdapterTest: test_belongsTo_relationhip_with_specified_class_name
|
22437
|
+
------------------------------------------------------------------------------------
|
22438
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22439
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22440
|
+
-------------------------------------------------------------------------
|
22441
|
+
ForestLiana::SchemaAdapterTest: test_DateTime_should_have_the_type_`Date`
|
22442
|
+
-------------------------------------------------------------------------
|
22443
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22444
|
+
[1m[35m (0.1ms)[0m begin transaction
|
22445
|
+
---------------------------------------------------------------------------
|
22446
|
+
ForestLiana::SchemaAdapterTest: test_Boolean_should_have_the_type_`Boolean`
|
22447
|
+
---------------------------------------------------------------------------
|
22448
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22449
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22450
|
+
--------------------------------------------------------------------------
|
22451
|
+
ForestLiana::SchemaAdapterTest: test_Decimal_should_have_the_type_`Number`
|
22452
|
+
--------------------------------------------------------------------------
|
22453
|
+
[1m[36m (0.2ms)[0m [1mrollback transaction[0m
|
22454
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22455
|
+
--------------------------------------------------------------------------
|
22456
|
+
ForestLiana::SchemaAdapterTest: test_Integer_should_have_the_type_`Number`
|
22457
|
+
--------------------------------------------------------------------------
|
22458
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22459
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22460
|
+
----------------------------------------------------------------------------------------------------
|
22461
|
+
ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_integer_field
|
22462
|
+
----------------------------------------------------------------------------------------------------
|
22463
|
+
[1m[36m (0.1ms)[0m [1mSELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."id" = '3')[0m
|
22464
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22465
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
22466
|
+
----------------------------------------------------------------------------------------------------
|
22467
|
+
ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_boolean_field
|
22468
|
+
----------------------------------------------------------------------------------------------------
|
22469
|
+
[1m[35m (0.2ms)[0m SELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."checked" = 0)
|
22470
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
22471
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22472
|
+
-------------------------------------------------------------------------------------------------
|
22473
|
+
ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_filter_on_a_belongs_to_enum_field
|
22474
|
+
-------------------------------------------------------------------------------------------------
|
22475
|
+
[1m[36m (0.2ms)[0m [1mSELECT DISTINCT COUNT(DISTINCT "belongs_to_fields"."id") FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" WHERE ("has_one_fields"."status" = '1')[0m
|
22476
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22477
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22478
|
+
-----------------------------------------------------------------------------
|
22479
|
+
ForestLiana::ValueStatGetterTest: test_Value_stat_getter_with_a_simple_filter
|
22480
|
+
-----------------------------------------------------------------------------
|
22481
|
+
[1m[35m (0.5ms)[0m SELECT DISTINCT COUNT(DISTINCT "boolean_fields"."id") FROM "boolean_fields" WHERE ("boolean_fields"."field" = 1)
|
22482
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
22483
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22484
|
+
-----------------------------------------------------------------------------------------
|
22485
|
+
ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_boolean_field
|
22486
|
+
-----------------------------------------------------------------------------------------
|
22487
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) AS count_all, boolean_fields.field AS boolean_fields_field FROM "boolean_fields" GROUP BY boolean_fields.field ORDER BY count_all DESC[0m
|
22488
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22489
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22490
|
+
---------------------------------------------------------------------------------------
|
22491
|
+
ForestLiana::PieStatGetterTest: test_Pie_stat_getter_with_an_aggregate_on_a_foreign_key
|
22492
|
+
---------------------------------------------------------------------------------------
|
22493
|
+
[1m[35m (0.6ms)[0m SELECT COUNT(DISTINCT "belongs_to_fields"."id") AS count_id, belongs_to_fields.has_one_field_id AS belongs_to_fields_has_one_field_id FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" GROUP BY belongs_to_fields.has_one_field_id ORDER BY count_id DESC
|
22494
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22495
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22496
|
+
------------------------------------------------------------------
|
22497
|
+
ForestLiana::HasManyGetterTest: test_HasMany_Getter_page_1_size_15
|
22498
|
+
------------------------------------------------------------------
|
22499
|
+
[1m[36mOwner Load (0.2ms)[0m [1mSELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1[0m [["id", 1]]
|
22500
|
+
[1m[35mSQL (0.2ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? [["owner_id", 1]]
|
22501
|
+
[1m[36m (0.2ms)[0m [1mSELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count[0m [["owner_id", 1]]
|
22502
|
+
[1m[35mSQL (0.2ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY "trees"."id" ASC LIMIT 1 OFFSET 0 [["owner_id", 1]]
|
22503
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
22504
|
+
[1m[35m (0.1ms)[0m begin transaction
|
22505
|
+
-------------------------------------------------------------------------
|
22506
|
+
ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_search_parameter
|
22507
|
+
-------------------------------------------------------------------------
|
22508
|
+
[1m[36mOwner Load (0.1ms)[0m [1mSELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1[0m [["id", 1]]
|
22509
|
+
[1m[35mSQL (0.1ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') [["owner_id", 1]]
|
22510
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') LIMIT 15 OFFSET 0) subquery_for_count[0m [["owner_id", 1]]
|
22511
|
+
[1m[35mSQL (0.2ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? AND (LOWER("trees"."name") LIKE '%fir%') ORDER BY "trees"."id" ASC LIMIT 1 OFFSET 0 [["owner_id", 1]]
|
22512
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22513
|
+
[1m[35m (0.1ms)[0m begin transaction
|
22514
|
+
-----------------------------------------------------------------------
|
22515
|
+
ForestLiana::HasManyGetterTest: test_HasMany_Getter_with_sort_parameter
|
22516
|
+
-----------------------------------------------------------------------
|
22517
|
+
[1m[36mOwner Load (0.1ms)[0m [1mSELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1[0m [["id", 1]]
|
22518
|
+
[1m[35mSQL (0.1ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY trees.id DESC [["owner_id", 1]]
|
22519
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(DISTINCT count_column) FROM (SELECT "trees"."id" AS count_column FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? LIMIT 15 OFFSET 0) subquery_for_count[0m [["owner_id", 1]]
|
22520
|
+
[1m[35mSQL (0.1ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE "trees"."owner_id" = ? ORDER BY trees.id DESC LIMIT 1 OFFSET 0 [["owner_id", 1]]
|
22521
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22522
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22523
|
+
-----------------------------------
|
22524
|
+
ForestLiana::RouteTest: test_Routes
|
22525
|
+
-----------------------------------
|
22526
|
+
[1m[36m (0.1ms)[0m [1mrollback transaction[0m
|
22527
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22528
|
+
------------------------------------------------------------------------------------------------------------
|
22529
|
+
ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_well_formated_value
|
22530
|
+
------------------------------------------------------------------------------------------------------------
|
22531
|
+
[1m[36mSerializeField Load (0.2ms)[0m [1mSELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1[0m [["id", 1]]
|
22532
|
+
[1m[35m (0.1ms)[0m SAVEPOINT active_record_1
|
22533
|
+
[1m[36mSQL (1.3ms)[0m [1mUPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ?[0m [["field", "---\n- test\n- test\n"], ["id", 1]]
|
22534
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
22535
|
+
[1m[36m (0.8ms)[0m [1mrollback transaction[0m
|
22536
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22537
|
+
---------------------------------------------------------------------------------------------------------
|
22538
|
+
ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_bad_format_value
|
22539
|
+
---------------------------------------------------------------------------------------------------------
|
22540
|
+
[1m[36mSerializeField Load (0.1ms)[0m [1mSELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1[0m [["id", 1]]
|
22541
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22542
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22543
|
+
------------------------------------------------------------------------------------------------------
|
22544
|
+
ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_missing_value
|
22545
|
+
------------------------------------------------------------------------------------------------------
|
22546
|
+
[1m[35mSerializeField Load (0.0ms)[0m SELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1 [["id", 1]]
|
22547
|
+
[1m[36m (0.0ms)[0m [1mSAVEPOINT active_record_1[0m
|
22548
|
+
[1m[35m (0.0ms)[0m RELEASE SAVEPOINT active_record_1
|
22549
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22550
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22551
|
+
---------------------------------------------------------------------------------------------------
|
22552
|
+
ForestLiana::ResourceUpdaterTest: test_Update_a_record_on_a_"serialize"_attribute_with_a_null_value
|
22553
|
+
---------------------------------------------------------------------------------------------------
|
22554
|
+
[1m[36mSerializeField Load (0.1ms)[0m [1mSELECT "serialize_fields".* FROM "serialize_fields" WHERE "serialize_fields"."id" = ? LIMIT 1[0m [["id", 1]]
|
22555
|
+
[1m[35m (0.0ms)[0m SAVEPOINT active_record_1
|
22556
|
+
[1m[36mSQL (0.3ms)[0m [1mUPDATE "serialize_fields" SET "field" = ? WHERE "serialize_fields"."id" = ?[0m [["field", nil], ["id", 1]]
|
22557
|
+
[1m[35m (0.1ms)[0m RELEASE SAVEPOINT active_record_1
|
22558
|
+
[1m[36m (0.4ms)[0m [1mrollback transaction[0m
|
22559
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22560
|
+
-----------------------------------------------------------------------
|
22561
|
+
ForestLiana::ResourcesGetterTest: test_Sort_by_a_belongs_to_association
|
22562
|
+
-----------------------------------------------------------------------
|
22563
|
+
[1m[36mSQL (0.2ms)[0m [1mSELECT "belongs_to_fields"."id" AS t0_r0, "belongs_to_fields"."has_one_field_id" AS t0_r1, "belongs_to_fields"."has_many_class_name_field_id" AS t0_r2, "belongs_to_fields"."has_many_field_id" AS t0_r3, "has_one_fields"."id" AS t1_r0, "has_one_fields"."checked" AS t1_r1, "has_one_fields"."status" AS t1_r2, "has_many_fields"."id" AS t2_r0, "has_many_fields"."has_many_through_field_id" AS t2_r1, "has_many_class_name_fields"."id" AS t3_r0 FROM "belongs_to_fields" LEFT OUTER JOIN "has_one_fields" ON "has_one_fields"."id" = "belongs_to_fields"."has_one_field_id" LEFT OUTER JOIN "has_many_fields" ON "has_many_fields"."id" = "belongs_to_fields"."has_many_field_id" LEFT OUTER JOIN "has_many_class_name_fields" ON "has_many_class_name_fields"."id" = "belongs_to_fields"."has_many_class_name_field_id" ORDER BY "has_one_fields"."id" ASC LIMIT 10 OFFSET 0[0m
|
22564
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "belongs_to_fields"
|
22565
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22566
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22567
|
+
-------------------------------------------------------------------------------------------
|
22568
|
+
ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_the_main_collection
|
22569
|
+
-------------------------------------------------------------------------------------------
|
22570
|
+
[1m[36mSQL (0.2ms)[0m [1mSELECT "owners"."id" AS t0_r0, "owners"."name" AS t0_r1, "owners"."created_at" AS t0_r2, "owners"."updated_at" AS t0_r3 FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC') ORDER BY owners.created_at DESC LIMIT 10 OFFSET 0[0m
|
22571
|
+
[1m[35m (0.1ms)[0m SELECT COUNT(*) FROM "owners" WHERE ("owners"."updated_at" BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC')
|
22572
|
+
[1m[36m (0.0ms)[0m [1mrollback transaction[0m
|
22573
|
+
[1m[35m (0.0ms)[0m begin transaction
|
22574
|
+
------------------------------------------------------------
|
22575
|
+
ForestLiana::ResourcesGetterTest: test_Filter_before_x_hours
|
22576
|
+
------------------------------------------------------------
|
22577
|
+
[1m[36mSQL (0.1ms)[0m [1mSELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4 FROM "trees" WHERE ("trees"."created_at" < '2018-06-05 12:18:23 UTC') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0[0m
|
22578
|
+
[1m[35m (0.0ms)[0m SELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" < '2018-06-05 12:18:23 UTC')
|
22579
|
+
[1m[36mOwner Load (0.0ms)[0m [1mSELECT "owners".* FROM "owners" WHERE "owners"."id" = ? LIMIT 1[0m [["id", 2]]
|
22580
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22581
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
22582
|
+
-----------------------------------------------------------------
|
22583
|
+
ForestLiana::ResourcesGetterTest: test_StringField_page_1_size_15
|
22584
|
+
-----------------------------------------------------------------
|
22585
|
+
[1m[35mSQL (0.1ms)[0m SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY string_fields.id DESC LIMIT 15 OFFSET 0
|
22586
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) FROM "string_fields"[0m
|
22587
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22588
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22589
|
+
----------------------------------------------------------
|
22590
|
+
ForestLiana::ResourcesGetterTest: test_Filter_after_x_days
|
22591
|
+
----------------------------------------------------------
|
22592
|
+
[1m[35mSQL (0.2ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4 FROM "trees" WHERE ("trees"."created_at" > '2018-06-05 12:18:23 UTC') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
|
22593
|
+
[1m[36m (0.3ms)[0m [1mSELECT COUNT(*) FROM "trees" WHERE ("trees"."created_at" > '2018-06-05 12:18:23 UTC')[0m
|
22594
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
22595
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22596
|
+
------------------------------------------------------------------------------------------------------
|
22597
|
+
ForestLiana::ResourcesGetterTest: test_Filter_equal_on_an_updated_at_field_of_an_associated_collection
|
22598
|
+
------------------------------------------------------------------------------------------------------
|
22599
|
+
[1m[35mSQL (0.1ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at = 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
|
22600
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at = 'Sat Jul 02 2016 11:52:00 GMT-0400 (EDT)')[0m
|
22601
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22602
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22603
|
+
----------------------------------------------------------------
|
22604
|
+
ForestLiana::ResourcesGetterTest: test_Filter_on_ambiguous_field
|
22605
|
+
----------------------------------------------------------------
|
22606
|
+
[1m[35mSQL (0.1ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE ("trees"."created_at" > '2015-06-18 08:00:00') AND (owners.name = 'Arnaud Besnier') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
|
22607
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE ("trees"."created_at" > '2015-06-18 08:00:00') AND (owners.name = 'Arnaud Besnier')[0m
|
22608
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22609
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22610
|
+
------------------------------------------------------------------------------------------------
|
22611
|
+
ForestLiana::ResourcesGetterTest: test_Filter_on_an_updated_at_field_of_an_associated_collection
|
22612
|
+
------------------------------------------------------------------------------------------------
|
22613
|
+
[1m[35mSQL (0.2ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC') ORDER BY trees.created_at DESC LIMIT 10 OFFSET 0
|
22614
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.updated_at BETWEEN '2017-01-01 08:00:00 UTC' AND '2018-01-01 07:59:59 UTC')[0m
|
22615
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22616
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22617
|
+
------------------------------------------------------------------------------------
|
22618
|
+
ForestLiana::ResourcesGetterTest: test_Sort_on_an_ambiguous_field_name_with_a_filter
|
22619
|
+
------------------------------------------------------------------------------------
|
22620
|
+
[1m[35mSQL (0.1ms)[0m SELECT "trees"."id" AS t0_r0, "trees"."name" AS t0_r1, "trees"."owner_id" AS t0_r2, "trees"."created_at" AS t0_r3, "trees"."updated_at" AS t0_r4, "owners"."id" AS t1_r0, "owners"."name" AS t1_r1, "owners"."created_at" AS t1_r2, "owners"."updated_at" AS t1_r3 FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier') ORDER BY trees.name DESC LIMIT 10 OFFSET 0
|
22621
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(DISTINCT "trees"."id") FROM "trees" LEFT OUTER JOIN "owners" ON "owners"."id" = "trees"."owner_id" WHERE (owners.name = 'Arnaud Besnier')[0m
|
22622
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22623
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22624
|
+
----------------------------------------------------------------
|
22625
|
+
ForestLiana::ResourcesGetterTest: test_StringField_sort_by_field
|
22626
|
+
----------------------------------------------------------------
|
22627
|
+
[1m[35mSQL (0.1ms)[0m SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY string_fields.field DESC LIMIT 10 OFFSET 0
|
22628
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) FROM "string_fields"[0m
|
22629
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
22630
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22631
|
+
-----------------------------------------------------------------
|
22632
|
+
ForestLiana::ResourcesGetterTest: test_StringField_page_2_size_10
|
22633
|
+
-----------------------------------------------------------------
|
22634
|
+
[1m[35mSQL (0.2ms)[0m SELECT "string_fields"."id" AS t0_r0, "string_fields"."field" AS t0_r1 FROM "string_fields" ORDER BY string_fields.id DESC LIMIT 10 OFFSET 10
|
22635
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) FROM "string_fields"[0m
|
22636
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
22637
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
22638
|
+
--------------------------------------------------------------------
|
22639
|
+
ForestLiana::ResourcesGetterTest: test_Sort_by_a_has_one_association
|
22640
|
+
--------------------------------------------------------------------
|
22641
|
+
[1m[35mSQL (0.9ms)[0m SELECT "has_one_fields"."id" AS t0_r0, "has_one_fields"."checked" AS t0_r1, "has_one_fields"."status" AS t0_r2, "belongs_to_fields"."id" AS t1_r0, "belongs_to_fields"."has_one_field_id" AS t1_r1, "belongs_to_fields"."has_many_class_name_field_id" AS t1_r2, "belongs_to_fields"."has_many_field_id" AS t1_r3, "belongs_to_class_name_fields"."id" AS t2_r0, "belongs_to_class_name_fields"."foo_id" AS t2_r1 FROM "has_one_fields" LEFT OUTER JOIN "belongs_to_fields" ON "belongs_to_fields"."has_one_field_id" = "has_one_fields"."id" LEFT OUTER JOIN "belongs_to_class_name_fields" ON "belongs_to_class_name_fields"."foo_id" = "has_one_fields"."id" ORDER BY "belongs_to_fields"."id" DESC LIMIT 10 OFFSET 0
|
22642
|
+
[1m[36m (0.1ms)[0m [1mSELECT COUNT(*) FROM "has_one_fields"[0m
|
22643
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: forest_liana
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sandro Munda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -174,6 +174,7 @@ files:
|
|
174
174
|
- app/services/forest_liana/base_getter.rb
|
175
175
|
- app/services/forest_liana/belongs_to_updater.rb
|
176
176
|
- app/services/forest_liana/controller_factory.rb
|
177
|
+
- app/services/forest_liana/forest_api_requester.rb
|
177
178
|
- app/services/forest_liana/google_authorized_user_getter.rb
|
178
179
|
- app/services/forest_liana/has_many_associator.rb
|
179
180
|
- app/services/forest_liana/has_many_dissociator.rb
|
@@ -186,6 +187,8 @@ files:
|
|
186
187
|
- app/services/forest_liana/live_query_checker.rb
|
187
188
|
- app/services/forest_liana/operator_date_interval_parser.rb
|
188
189
|
- app/services/forest_liana/operator_value_parser.rb
|
190
|
+
- app/services/forest_liana/permissions_checker.rb
|
191
|
+
- app/services/forest_liana/permissions_getter.rb
|
189
192
|
- app/services/forest_liana/pie_stat_getter.rb
|
190
193
|
- app/services/forest_liana/query_stat_getter.rb
|
191
194
|
- app/services/forest_liana/resource_creator.rb
|