s3_relay 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/s3_relay.coffee +5 -1
- data/lib/s3_relay/version.rb +1 -1
- data/test/dummy/log/development.log +24 -12
- data/test/dummy/log/test.log +472 -1322
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f9fe731c3a3cdd23942a9286530e37957dcb8b7e
         | 
| 4 | 
            +
              data.tar.gz: 634a0c6d096ab3ca4b903d05a86bbb4fdc4e76ec
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: e1a74b83d9b770d597775871e3cb3defb0f3471c33f90cef4185e18892460f5cfbf9d1c306ac24de35efa0aed6dcb0f59e4bc677a550a1c11db06ee1587df127
         | 
| 7 | 
            +
              data.tar.gz: 436ccc38e13a585e197f1b513b27b78378207b713be1b083b148d79d69e4263c54d1c2e226b25d34f20b18ca9194639d5adcf9d4113decba3e0a1678d42ebf0c
         | 
| @@ -46,9 +46,13 @@ uploadFiles = (container) -> | |
| 46 46 | 
             
            uploadFile = (container, file) ->
         | 
| 47 47 | 
             
              fileName = file.name
         | 
| 48 48 |  | 
| 49 | 
            +
              # Assign unique id to each file to pass as get parameter so Safari doesn't
         | 
| 50 | 
            +
              # consolidate the requests
         | 
| 51 | 
            +
              $(file).uniqueId()
         | 
| 52 | 
            +
             | 
| 49 53 | 
             
              $.ajax
         | 
| 50 54 | 
             
                type: "GET"
         | 
| 51 | 
            -
                url: "/s3_relay/uploads/new"
         | 
| 55 | 
            +
                url: "/s3_relay/uploads/new?unique_id=#{file.id}"
         | 
| 52 56 | 
             
                success: (data, status, xhr) ->
         | 
| 53 57 | 
             
                  formData = new FormData()
         | 
| 54 58 | 
             
                  xhr = new XMLHttpRequest()
         | 
    
        data/lib/s3_relay/version.rb
    CHANGED
    
    
| @@ -1,14 +1,26 @@ | |
| 1 | 
            -
              [1m[ | 
| 2 | 
            -
              [1m[35m ( | 
| 3 | 
            -
              [1m[ | 
| 1 | 
            +
              [1m[35m (4.5ms)[0m  [1m[35mCREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)[0m
         | 
| 2 | 
            +
              [1m[35m (3.0ms)[0m  [1m[35mCREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)[0m
         | 
| 3 | 
            +
              [1m[35m (0.3ms)[0m  [1m[34mSELECT pg_try_advisory_lock(5724499521023098410);[0m
         | 
| 4 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 4 5 | 
             
            Migrating to CreateS3RelayUploads (20141009000804)
         | 
| 5 | 
            -
              [1m[35m (0.1ms)[0m   | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
               | 
| 6 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 7 | 
            +
            DEPRECATION WARNING: Directly inheriting from ActiveRecord::Migration is deprecated. Please specify the Rails release the migration was written for:
         | 
| 8 | 
            +
             | 
| 9 | 
            +
              class CreateS3RelayUploads < ActiveRecord::Migration[4.2] (called from block in execute at /Users/kjohnston/.rvm/gems/ruby-2.4.0@global/gems/rake-12.0.0/lib/rake/task.rb:250)
         | 
| 10 | 
            +
              [1m[35m (3.9ms)[0m  [1m[35mCREATE TABLE "s3_relay_uploads" ("id" serial primary key, "uuid" bytea, "user_id" integer, "parent_type" character varying, "parent_id" integer, "upload_type" character varying, "filename" text, "content_type" character varying, "state" character varying, "data" json DEFAULT '"{}"', "pending_at" timestamp, "imported_at" timestamp, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 11 | 
            +
              [1m[35mSQL (0.9ms)[0m  [1m[32mINSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version"[0m  [["version", "20141009000804"]]
         | 
| 12 | 
            +
              [1m[35m (0.5ms)[0m  [1m[35mCOMMIT[0m
         | 
| 9 13 | 
             
            Migrating to CreateProducts (20141021002149)
         | 
| 10 | 
            -
              [1m[35m ( | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
               | 
| 14 | 
            -
              [1m[ | 
| 14 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mBEGIN[0m
         | 
| 15 | 
            +
            DEPRECATION WARNING: Directly inheriting from ActiveRecord::Migration is deprecated. Please specify the Rails release the migration was written for:
         | 
| 16 | 
            +
             | 
| 17 | 
            +
              class CreateProducts < ActiveRecord::Migration[4.2] (called from block in execute at /Users/kjohnston/.rvm/gems/ruby-2.4.0@global/gems/rake-12.0.0/lib/rake/task.rb:250)
         | 
| 18 | 
            +
              [1m[35m (3.0ms)[0m  [1m[35mCREATE TABLE "products" ("id" serial primary key, "name" character varying, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 19 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[32mINSERT INTO "schema_migrations" ("version") VALUES ($1) RETURNING "version"[0m  [["version", "20141021002149"]]
         | 
| 20 | 
            +
              [1m[35m (0.3ms)[0m  [1m[35mCOMMIT[0m
         | 
| 21 | 
            +
              [1m[36mActiveRecord::InternalMetadata Load (0.2ms)[0m  [1m[34mSELECT  "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2[0m  [["key", :environment], ["LIMIT", 1]]
         | 
| 22 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 23 | 
            +
              [1m[35mSQL (0.5ms)[0m  [1m[32mINSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key"[0m  [["key", "environment"], ["value", "development"], ["created_at", 2016-12-30 06:31:08 UTC], ["updated_at", 2016-12-30 06:31:08 UTC]]
         | 
| 24 | 
            +
              [1m[35m (0.4ms)[0m  [1m[35mCOMMIT[0m
         | 
| 25 | 
            +
              [1m[35m (0.3ms)[0m  [1m[34mSELECT pg_advisory_unlock(5724499521023098410)[0m
         | 
| 26 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
    
        data/test/dummy/log/test.log
    CHANGED
    
    | @@ -1,1078 +1,400 @@ | |
| 1 | 
            -
              [1m[ | 
| 2 | 
            -
              [1m[35m ( | 
| 3 | 
            -
              [1m[ | 
| 4 | 
            -
              [1m[35m ( | 
| 5 | 
            -
              [1m[ | 
| 6 | 
            -
              [1m[35m ( | 
| 7 | 
            -
              [1m[ | 
| 8 | 
            -
              [1m[35m (0. | 
| 9 | 
            -
              [1m[ | 
| 10 | 
            -
              [1m[ | 
| 11 | 
            -
              [1m[ | 
| 12 | 
            -
              [1m[ | 
| 13 | 
            -
              [1m[ | 
| 14 | 
            -
              [1m[ | 
| 15 | 
            -
              [1m[ | 
| 16 | 
            -
              [1m[35m (0.1ms)[0m   | 
| 17 | 
            -
              [1m[ | 
| 18 | 
            -
              [1m[ | 
| 19 | 
            -
              [1m[ | 
| 20 | 
            -
              [1m[35m (0. | 
| 21 | 
            -
              [1m[ | 
| 22 | 
            -
              [1m[ | 
| 23 | 
            -
              [1m[ | 
| 24 | 
            -
              [1m[35m (0.1ms)[0m   | 
| 25 | 
            -
              [1m[ | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
              [1m[ | 
| 30 | 
            -
              [1m[ | 
| 31 | 
            -
              [1m[35m (0. | 
| 32 | 
            -
              [1m[ | 
| 33 | 
            -
             | 
| 34 | 
            -
            : | 
| 35 | 
            -
             | 
| 36 | 
            -
              [1m[35mSQL (0. | 
| 37 | 
            -
              [1m[ | 
| 38 | 
            -
              [1m[ | 
| 39 | 
            -
              [1m[ | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
              [1m[ | 
| 44 | 
            -
             | 
| 45 | 
            -
              [1m[ | 
| 46 | 
            -
              [1m[ | 
| 47 | 
            -
              [1m[ | 
| 48 | 
            -
              [1m[ | 
| 49 | 
            -
              [1m[35m (0. | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
              [1m[ | 
| 54 | 
            -
              [1m[ | 
| 55 | 
            -
              [1m[ | 
| 56 | 
            -
              [1m[ | 
| 57 | 
            -
              [1m[ | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
              [1m[ | 
| 62 | 
            -
              [1m[ | 
| 63 | 
            -
              [1m[35m ( | 
| 64 | 
            -
              [1m[ | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
              [1m[35m (0. | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
              [1m[ | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
              [1m[ | 
| 77 | 
            -
             | 
| 78 | 
            -
               | 
| 79 | 
            -
              [1m[35m (0.1ms)[0m   | 
| 80 | 
            -
              [1m[ | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
             | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
              [1m[35m (0. | 
| 1 | 
            +
              [1m[35m (201.5ms)[0m  [1m[35mDROP DATABASE IF EXISTS "s3_relay_test"[0m
         | 
| 2 | 
            +
              [1m[35m (396.9ms)[0m  [1m[35mCREATE DATABASE "s3_relay_test" ENCODING = 'unicode'[0m
         | 
| 3 | 
            +
              [1m[35mSQL (0.3ms)[0m  [1m[35mCREATE EXTENSION IF NOT EXISTS "plpgsql"[0m
         | 
| 4 | 
            +
              [1m[35m (5.1ms)[0m  [1m[35mCREATE TABLE "products" ("id" serial primary key, "name" character varying, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 5 | 
            +
              [1m[35m (3.4ms)[0m  [1m[35mCREATE TABLE "s3_relay_uploads" ("id" serial primary key, "uuid" bytea, "user_id" integer, "parent_type" character varying, "parent_id" integer, "upload_type" character varying, "filename" text, "content_type" character varying, "state" character varying, "data" json DEFAULT '{}', "pending_at" timestamp, "imported_at" timestamp, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 6 | 
            +
              [1m[35m (2.6ms)[0m  [1m[35mCREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)[0m
         | 
| 7 | 
            +
              [1m[35m (0.4ms)[0m  [1m[34mSELECT version FROM "schema_migrations"[0m
         | 
| 8 | 
            +
              [1m[35m (0.6ms)[0m  [1m[32mINSERT INTO "schema_migrations" (version) VALUES ('20141021002149')[0m
         | 
| 9 | 
            +
              [1m[35m (2.8ms)[0m  [1m[35mCREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)[0m
         | 
| 10 | 
            +
              [1m[36mActiveRecord::InternalMetadata Load (0.3ms)[0m  [1m[34mSELECT  "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2[0m  [["key", :environment], ["LIMIT", 1]]
         | 
| 11 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 12 | 
            +
              [1m[35mSQL (0.3ms)[0m  [1m[32mINSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key"[0m  [["key", "environment"], ["value", "test"], ["created_at", 2016-12-30 06:31:00 UTC], ["updated_at", 2016-12-30 06:31:00 UTC]]
         | 
| 13 | 
            +
              [1m[35m (0.4ms)[0m  [1m[35mCOMMIT[0m
         | 
| 14 | 
            +
              [1m[36mActiveRecord::InternalMetadata Load (0.2ms)[0m  [1m[34mSELECT  "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2[0m  [["key", :environment], ["LIMIT", 1]]
         | 
| 15 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 16 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 17 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 18 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 19 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 20 | 
            +
              [1m[35m (0.3ms)[0m  [1m[34mSELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1[0m  [["key", :environment]]
         | 
| 21 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.2ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 22 | 
            +
              [1m[35m (0.1ms)[0m  [1m[34mSELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1[0m  [["key", :environment]]
         | 
| 23 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 24 | 
            +
              [1m[35m (0.1ms)[0m  [1m[34mSELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1[0m  [["key", :environment]]
         | 
| 25 | 
            +
              [1m[35m (173.2ms)[0m  [1m[35mDROP DATABASE IF EXISTS "s3_relay_test"[0m
         | 
| 26 | 
            +
              [1m[35m (397.9ms)[0m  [1m[35mCREATE DATABASE "s3_relay_test" ENCODING = 'unicode'[0m
         | 
| 27 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[35mCREATE EXTENSION IF NOT EXISTS "plpgsql"[0m
         | 
| 28 | 
            +
              [1m[35m (4.8ms)[0m  [1m[35mCREATE TABLE "products" ("id" serial primary key, "name" character varying, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 29 | 
            +
              [1m[35m (3.3ms)[0m  [1m[35mCREATE TABLE "s3_relay_uploads" ("id" serial primary key, "uuid" bytea, "user_id" integer, "parent_type" character varying, "parent_id" integer, "upload_type" character varying, "filename" text, "content_type" character varying, "state" character varying, "data" json DEFAULT '"{}"', "pending_at" timestamp, "imported_at" timestamp, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 30 | 
            +
              [1m[35m (2.5ms)[0m  [1m[35mCREATE TABLE "schema_migrations" ("version" character varying PRIMARY KEY)[0m
         | 
| 31 | 
            +
              [1m[35m (0.4ms)[0m  [1m[34mSELECT version FROM "schema_migrations"[0m
         | 
| 32 | 
            +
              [1m[35m (0.5ms)[0m  [1m[32mINSERT INTO "schema_migrations" (version) VALUES ('20141021002149')[0m
         | 
| 33 | 
            +
              [1m[35m (2.5ms)[0m  [1m[35mCREATE TABLE "ar_internal_metadata" ("key" character varying PRIMARY KEY, "value" character varying, "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL)[0m
         | 
| 34 | 
            +
              [1m[36mActiveRecord::InternalMetadata Load (0.5ms)[0m  [1m[34mSELECT  "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2[0m  [["key", :environment], ["LIMIT", 1]]
         | 
| 35 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 36 | 
            +
              [1m[35mSQL (0.4ms)[0m  [1m[32mINSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "key"[0m  [["key", "environment"], ["value", "test"], ["created_at", 2016-12-30 06:31:27 UTC], ["updated_at", 2016-12-30 06:31:27 UTC]]
         | 
| 37 | 
            +
              [1m[35m (0.4ms)[0m  [1m[35mCOMMIT[0m
         | 
| 38 | 
            +
              [1m[36mActiveRecord::InternalMetadata Load (0.2ms)[0m  [1m[34mSELECT  "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2[0m  [["key", :environment], ["LIMIT", 1]]
         | 
| 39 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 40 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 41 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 42 | 
            +
              [1m[35m (0.2ms)[0m  [1m[34mSELECT pg_try_advisory_lock(5551432892130617310);[0m
         | 
| 43 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 44 | 
            +
            Migrating to CreateS3RelayUploads (20141009000804)
         | 
| 45 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 46 | 
            +
              [1m[35m (4.7ms)[0m  [1m[35mCREATE TABLE "s3_relay_uploads" ("id" serial primary key, "uuid" bytea, "user_id" integer, "parent_type" character varying, "parent_id" integer, "upload_type" character varying, "filename" text, "content_type" character varying, "state" character varying, "data" json DEFAULT '"{}"', "pending_at" timestamp, "imported_at" timestamp, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 47 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 48 | 
            +
              [1m[35m (0.2ms)[0m  [1m[34mSELECT pg_advisory_unlock(5551432892130617310)[0m
         | 
| 49 | 
            +
              [1m[35m (0.2ms)[0m  [1m[34mSELECT pg_try_advisory_lock(5551432892130617310);[0m
         | 
| 50 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 51 | 
            +
            Migrating to CreateS3RelayUploads (20141009000804)
         | 
| 52 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 53 | 
            +
              [1m[35m (3.1ms)[0m  [1m[35mCREATE TABLE "s3_relay_uploads" ("id" serial primary key, "uuid" bytea, "user_id" integer, "parent_type" character varying, "parent_id" integer, "upload_type" character varying, "filename" text, "content_type" character varying, "state" character varying, "data" json DEFAULT '"{}"', "pending_at" timestamp, "imported_at" timestamp, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 54 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 55 | 
            +
              [1m[35m (0.3ms)[0m  [1m[34mSELECT pg_advisory_unlock(5551432892130617310)[0m
         | 
| 56 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 57 | 
            +
              [1m[35m (0.3ms)[0m  [1m[34mSELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1[0m  [["key", :environment]]
         | 
| 58 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 59 | 
            +
              [1m[35m (0.1ms)[0m  [1m[34mSELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1[0m  [["key", :environment]]
         | 
| 60 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.1ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 61 | 
            +
              [1m[35m (0.1ms)[0m  [1m[34mSELECT "ar_internal_metadata"."value" FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1[0m  [["key", :environment]]
         | 
| 62 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[35mCREATE EXTENSION IF NOT EXISTS "plpgsql"[0m
         | 
| 63 | 
            +
              [1m[35m (4.1ms)[0m  [1m[35mDROP TABLE "products" CASCADE[0m
         | 
| 64 | 
            +
              [1m[35m (3.9ms)[0m  [1m[35mCREATE TABLE "products" ("id" serial primary key, "name" character varying, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 65 | 
            +
              [1m[35m (1.7ms)[0m  [1m[35mDROP TABLE "s3_relay_uploads" CASCADE[0m
         | 
| 66 | 
            +
              [1m[35m (3.2ms)[0m  [1m[35mCREATE TABLE "s3_relay_uploads" ("id" serial primary key, "uuid" bytea, "user_id" integer, "parent_type" character varying, "parent_id" integer, "upload_type" character varying, "filename" text, "content_type" character varying, "state" character varying, "data" json DEFAULT '"{}"', "pending_at" timestamp, "imported_at" timestamp, "created_at" timestamp, "updated_at" timestamp)[0m
         | 
| 67 | 
            +
              [1m[35m (0.4ms)[0m  [1m[34mSELECT version FROM "schema_migrations"[0m
         | 
| 68 | 
            +
              [1m[35m (0.7ms)[0m  [1m[32mINSERT INTO schema_migrations (version) VALUES
         | 
| 69 | 
            +
            ('20141009000804');
         | 
| 70 | 
            +
             | 
| 71 | 
            +
            [0m
         | 
| 72 | 
            +
              [1m[36mActiveRecord::InternalMetadata Load (0.4ms)[0m  [1m[34mSELECT  "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2[0m  [["key", :environment], ["LIMIT", 1]]
         | 
| 73 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 74 | 
            +
              [1m[35m (0.4ms)[0m  [1m[35mCOMMIT[0m
         | 
| 75 | 
            +
              [1m[36mActiveRecord::InternalMetadata Load (0.2ms)[0m  [1m[34mSELECT  "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2[0m  [["key", :environment], ["LIMIT", 1]]
         | 
| 76 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 77 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 78 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.4ms)[0m  [1m[34mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 79 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 80 | 
            +
              [1m[35m (0.4ms)[0m  [1m[35mALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL;ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" DISABLE TRIGGER ALL[0m
         | 
| 81 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 82 | 
            +
              [1m[35m (1.1ms)[0m  [1m[34m          SELECT schemaname || '.' || tablename
         | 
| 83 | 
            +
                      FROM pg_tables
         | 
| 84 | 
            +
                      WHERE
         | 
| 85 | 
            +
                        tablename !~ '_prt_' AND
         | 
| 86 | 
            +
                        tablename <> 'schema_migrations' AND
         | 
| 87 | 
            +
                        schemaname = ANY (current_schemas(false))
         | 
| 88 | 
            +
            [0m
         | 
| 89 | 
            +
              [1m[35m (0.9ms)[0m  [1m[34mselect table_name from information_schema.views where table_schema = 's3_relay_test'[0m
         | 
| 90 | 
            +
              [1m[35m (9.6ms)[0m  [1m[35mTRUNCATE TABLE "public"."ar_internal_metadata", "public"."products", "public"."s3_relay_uploads" RESTART IDENTITY CASCADE;[0m
         | 
| 91 | 
            +
              [1m[35m (0.3ms)[0m  [1m[35mBEGIN[0m
         | 
| 92 | 
            +
              [1m[35m (0.3ms)[0m  [1m[35mALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" ENABLE TRIGGER ALL[0m
         | 
| 93 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 94 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mBEGIN[0m
         | 
| 95 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 96 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 97 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 98 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 99 | 
            +
            -----------------------------------------------------
         | 
| 100 | 
            +
            S3Relay::Upload::scopes::pending: test_0001_anonymous
         | 
| 101 | 
            +
            -----------------------------------------------------
         | 
| 102 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 103 | 
            +
              [1m[35mSQL (0.5ms)[0m  [1m[32mINSERT INTO "s3_relay_uploads" ("state", "pending_at", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["state", "pending"], ["pending_at", 2016-12-30 06:33:12 UTC], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 104 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 105 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 106 | 
            +
              [1m[35mSQL (0.3ms)[0m  [1m[32mINSERT INTO "s3_relay_uploads" ("state", "pending_at", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["state", "imported"], ["pending_at", 2016-12-30 06:33:12 UTC], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 107 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 108 | 
            +
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1m[34mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."state" = $1[0m  [["state", "pending"]]
         | 
| 109 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 110 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 111 | 
            +
            -----------------------------------------------------------------------
         | 
| 112 | 
            +
            S3Relay::Upload::validations::upload_type: test_0001_validates presence
         | 
| 113 | 
            +
            -----------------------------------------------------------------------
         | 
| 114 | 
            +
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1m[34mSELECT  1 AS one FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT $1[0m  [["LIMIT", 1]]
         | 
| 115 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 116 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 117 | 
            +
            ---------------------------------------------------------------------------------------------------------------------
         | 
| 118 | 
            +
            S3Relay::UploadsController::POST create::success::with parent attributes::not matching an object: test_0001_anonymous
         | 
| 119 | 
            +
            ---------------------------------------------------------------------------------------------------------------------
         | 
| 120 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 121 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 90 122 | 
             
            --------------------------------------------------
         | 
| 91 123 | 
             
            S3Relay::Upload::#private_url: test_0001_anonymous
         | 
| 92 124 | 
             
            --------------------------------------------------
         | 
| 93 | 
            -
              [1m[ | 
| 94 | 
            -
              [1m[35m (0.1ms)[0m   | 
| 125 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 126 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 127 | 
            +
            ------------------------------------------------------------------------
         | 
| 128 | 
            +
            S3Relay::Upload::validations::content_type: test_0001_validates presence
         | 
| 129 | 
            +
            ------------------------------------------------------------------------
         | 
| 130 | 
            +
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1m[34mSELECT  1 AS one FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT $1[0m  [["LIMIT", 1]]
         | 
| 131 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 132 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 133 | 
            +
            ----------------------------------------------------------
         | 
| 134 | 
            +
            S3Relay::Upload::associations::parent: test_0001_anonymous
         | 
| 135 | 
            +
            ----------------------------------------------------------
         | 
| 136 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 137 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 138 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 139 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 140 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 141 | 
            +
              [1m[35mSQL (0.4ms)[0m  [1m[32mINSERT INTO "products" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["name", "Flux Capacitor"], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 142 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 143 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 144 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 145 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 146 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mBEGIN[0m
         | 
| 147 | 
            +
            ---------------------------------------------------------------------------------
         | 
| 148 | 
            +
            S3Relay::UploadsHelper::#s3_relay_field::with multiple: true: test_0001_anonymous
         | 
| 149 | 
            +
            ---------------------------------------------------------------------------------
         | 
| 150 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 151 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[32mINSERT INTO "products" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["name", "Flux Capacitor"], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 152 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 153 | 
            +
              [1m[35m (0.2ms)[0m  [1m[31mROLLBACK[0m
         | 
| 154 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 155 | 
            +
            ---------------------------------------------------------------------
         | 
| 156 | 
            +
            S3Relay::UploadsController::POST create::success: test_0001_anonymous
         | 
| 157 | 
            +
            ---------------------------------------------------------------------
         | 
| 158 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 159 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 160 | 
            +
            -----------------------------------------------------------------------------------
         | 
| 161 | 
            +
            S3Relay::Upload::#notify_parent::when the parent is associated: test_0001_anonymous
         | 
| 162 | 
            +
            -----------------------------------------------------------------------------------
         | 
| 163 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 164 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[32mINSERT INTO "products" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["name", "Flux Capacitor"], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 165 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 166 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 167 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 168 | 
            +
            ----------------------------------------------------------------------
         | 
| 169 | 
            +
            S3Relay::Upload::validations::pending_at: test_0001_validates presence
         | 
| 170 | 
            +
            ----------------------------------------------------------------------
         | 
| 171 | 
            +
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1m[34mSELECT  1 AS one FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT $1[0m  [["LIMIT", 1]]
         | 
| 172 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 173 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 174 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 175 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 176 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 177 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 178 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 179 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 180 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 181 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 182 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 183 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 184 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 185 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mBEGIN[0m
         | 
| 186 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 187 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 188 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 189 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[32mINSERT INTO "products" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["name", "Flux Capacitor"], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 190 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 191 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 192 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 193 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 194 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mBEGIN[0m
         | 
| 95 195 | 
             
            -----------------------------------------------
         | 
| 96 196 | 
             
            S3Relay::Upload::#pending?: test_0001_anonymous
         | 
| 97 197 | 
             
            -----------------------------------------------
         | 
| 98 | 
            -
              [1m[ | 
| 99 | 
            -
              [1m[35m (0. | 
| 100 | 
            -
             | 
| 101 | 
            -
            S3Relay:: | 
| 102 | 
            -
             | 
| 103 | 
            -
              [1m[ | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
              [1m[ | 
| 109 | 
            -
            : | 
| 110 | 
            -
             | 
| 111 | 
            -
             | 
| 112 | 
            -
              [1m[ | 
| 113 | 
            -
             | 
| 114 | 
            -
             | 
| 115 | 
            -
             | 
| 116 | 
            -
              [1m[35m (0. | 
| 117 | 
            -
              [1m[ | 
| 198 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 199 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mBEGIN[0m
         | 
| 200 | 
            +
            -----------------------------------------------
         | 
| 201 | 
            +
            S3Relay::Upload::#imported: test_0001_anonymous
         | 
| 202 | 
            +
            -----------------------------------------------
         | 
| 203 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 204 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 205 | 
            +
            -----------------------------------------------------------------------------
         | 
| 206 | 
            +
            S3Relay::UploadsHelper::#s3_relay_field::without options: test_0001_anonymous
         | 
| 207 | 
            +
            -----------------------------------------------------------------------------
         | 
| 208 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 209 | 
            +
              [1m[35mSQL (0.3ms)[0m  [1m[32mINSERT INTO "products" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["name", "Flux Capacitor"], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 210 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 211 | 
            +
              [1m[35m (0.3ms)[0m  [1m[31mROLLBACK[0m
         | 
| 212 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mBEGIN[0m
         | 
| 213 | 
            +
            ------------------------------------------------------
         | 
| 214 | 
            +
            S3Relay::Upload::scopes::imported: test_0001_anonymous
         | 
| 215 | 
            +
            ------------------------------------------------------
         | 
| 216 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 217 | 
            +
              [1m[35mSQL (0.4ms)[0m  [1m[32mINSERT INTO "s3_relay_uploads" ("state", "pending_at", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["state", "pending"], ["pending_at", 2016-12-30 06:33:12 UTC], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 218 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 219 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 220 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[32mINSERT INTO "s3_relay_uploads" ("state", "pending_at", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["state", "imported"], ["pending_at", 2016-12-30 06:33:12 UTC], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 221 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 222 | 
            +
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1m[34mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."state" = $1[0m  [["state", "imported"]]
         | 
| 223 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 224 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 225 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mCOMMIT[0m
         | 
| 226 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 227 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 228 | 
            +
              [1m[35m (0.2ms)[0m  [1m[35mBEGIN[0m
         | 
| 229 | 
            +
            ------------------------------------------------------------------------------------------
         | 
| 230 | 
            +
            S3Relay::UploadsHelper::#s3_relay_field::with disposition: attachment: test_0001_anonymous
         | 
| 231 | 
            +
            ------------------------------------------------------------------------------------------
         | 
| 232 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 233 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[32mINSERT INTO "products" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["name", "Flux Capacitor"], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 234 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 235 | 
            +
              [1m[35m (0.2ms)[0m  [1m[31mROLLBACK[0m
         | 
| 236 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 237 | 
            +
            --------------------------------------------------------------------
         | 
| 238 | 
            +
            S3Relay::Upload::validations::filename: test_0001_validates presence
         | 
| 239 | 
            +
            --------------------------------------------------------------------
         | 
| 240 | 
            +
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1m[34mSELECT  1 AS one FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT $1[0m  [["LIMIT", 1]]
         | 
| 241 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 242 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 243 | 
            +
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 244 | 
            +
            S3Relay::UploadsController::POST create::success::with parent attributes::with a current_user: test_0001_associates the upload with the user
         | 
| 245 | 
            +
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 246 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 247 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 248 | 
            +
            --------------------------------------------------------
         | 
| 249 | 
            +
            S3Relay::UploadsController::GET new: test_0001_anonymous
         | 
| 250 | 
            +
            --------------------------------------------------------
         | 
| 251 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 252 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 118 253 | 
             
            -----------------------------------------------------
         | 
| 119 | 
            -
            S3Relay::Upload | 
| 254 | 
            +
            S3Relay::Upload::#mark_imported!: test_0001_anonymous
         | 
| 120 255 | 
             
            -----------------------------------------------------
         | 
| 121 | 
            -
              [1m[35m (0.1ms)[0m   | 
| 122 | 
            -
              [1m[ | 
| 123 | 
            -
              [1m[35m (0.1ms)[0m   | 
| 124 | 
            -
              [1m[ | 
| 125 | 
            -
              [1m[ | 
| 126 | 
            -
             | 
| 127 | 
            -
             | 
| 128 | 
            -
             | 
| 256 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 257 | 
            +
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1m[34mSELECT  1 AS one FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT $1[0m  [["LIMIT", 1]]
         | 
| 258 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 259 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 260 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 261 | 
            +
            -------------------------------------------------------
         | 
| 262 | 
            +
            S3Relay::Upload::upon finalization: test_0001_anonymous
         | 
| 263 | 
            +
            -------------------------------------------------------
         | 
| 264 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 265 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 266 | 
            +
            ----------------------------------------------------------------
         | 
| 267 | 
            +
            S3Relay::Upload::validations::uuid: test_0001_validates presence
         | 
| 268 | 
            +
            ----------------------------------------------------------------
         | 
| 269 | 
            +
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1m[34mSELECT  1 AS one FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT $1[0m  [["LIMIT", 1]]
         | 
| 270 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 271 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 272 | 
            +
            ------------------------------------------------------------------
         | 
| 273 | 
            +
            S3Relay::Upload::validations::uuid: test_0002_validates uniqueness
         | 
| 274 | 
            +
            ------------------------------------------------------------------
         | 
| 275 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 276 | 
            +
              [1m[35mSQL (0.3ms)[0m  [1m[32mINSERT INTO "s3_relay_uploads" ("state", "pending_at", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["state", "pending"], ["pending_at", 2016-12-30 06:33:12 UTC], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 277 | 
            +
              [1m[35m (0.3ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 278 | 
            +
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1m[34mSELECT  1 AS one FROM "s3_relay_uploads" WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT $1[0m  [["LIMIT", 1]]
         | 
| 279 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 280 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 281 | 
            +
              [1m[35m (0.0ms)[0m  [1m[35mCOMMIT[0m
         | 
| 282 | 
            +
              [1m[35m (0.0ms)[0m  [1m[35mBEGIN[0m
         | 
| 283 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 284 | 
            +
              [1m[35mSQL (0.2ms)[0m  [1m[32mINSERT INTO "products" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["name", "Flux Capacitor"], ["created_at", 2016-12-30 06:33:12 UTC], ["updated_at", 2016-12-30 06:33:12 UTC]]
         | 
| 285 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mRELEASE SAVEPOINT active_record_1[0m
         | 
| 286 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mSAVEPOINT active_record_1[0m
         | 
| 287 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 288 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 289 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 290 | 
            +
            -------------------------------------------------------------------
         | 
| 291 | 
            +
            S3Relay::UploadsController::POST create::error: test_0001_anonymous
         | 
| 292 | 
            +
            -------------------------------------------------------------------
         | 
| 293 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 294 | 
            +
              [1m[35m (0.1ms)[0m  [1m[35mBEGIN[0m
         | 
| 295 | 
            +
            -----------------------------------------------------------------------------------------------------------------
         | 
| 296 | 
            +
            S3Relay::UploadsController::POST create::success::with parent attributes::matching an object: test_0001_anonymous
         | 
| 297 | 
            +
            -----------------------------------------------------------------------------------------------------------------
         | 
| 298 | 
            +
              [1m[35m (0.1ms)[0m  [1m[31mROLLBACK[0m
         | 
| 299 | 
            +
              [1m[36mActiveRecord::SchemaMigration Load (0.5ms)[0m  [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 300 | 
            +
              [1m[35m (0.3ms)[0m  ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" DISABLE TRIGGER ALL;ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" DISABLE TRIGGER ALL
         | 
| 301 | 
            +
              [1m[36m (1.0ms)[0m  [1mselect table_name from information_schema.views where table_schema = 's3_relay_test'[0m
         | 
| 302 | 
            +
              [1m[35m (10.6ms)[0m  TRUNCATE TABLE "ar_internal_metadata", "products", "s3_relay_uploads" RESTART IDENTITY CASCADE;
         | 
| 303 | 
            +
              [1m[36m (0.2ms)[0m  [1mALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "ar_internal_metadata" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" ENABLE TRIGGER ALL[0m
         | 
| 129 304 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 130 305 | 
             
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 131 306 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 132 307 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 133 | 
            -
              [1m[35mSQL (0. | 
| 308 | 
            +
              [1m[35mSQL (0.4ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-12-30 06:50:36.807336"], ["name", "Flux Capacitor"], ["updated_at", "2016-12-30 06:50:36.807336"]]
         | 
| 134 309 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 135 310 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 136 | 
            -
              [1m[36mS3Relay::Upload Exists ( | 
| 137 | 
            -
            :value:  | 
| 311 | 
            +
              [1m[36mS3Relay::Upload Exists (2.5ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 312 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 138 313 | 
             
            :format: 1
         | 
| 139 314 | 
             
            ' LIMIT 1[0m
         | 
| 140 | 
            -
              [1m[35mSQL (0. | 
| 315 | 
            +
              [1m[35mSQL (0.4ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.831936"], ["data", "{}"], ["filename", "cat.png"], ["parent_id", 1], ["parent_type", "Product"], ["pending_at", "2016-12-30 06:50:36.818698"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.831936"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 141 316 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 142 317 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 143 318 | 
             
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 144 | 
            -
            :value:  | 
| 319 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 145 320 | 
             
            :format: 1
         | 
| 146 321 | 
             
            ' LIMIT 1[0m
         | 
| 147 | 
            -
              [1m[35mSQL (0. | 
| 322 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.837536"], ["data", "{}"], ["filename", "cat.png"], ["parent_id", 1], ["parent_type", "Product"], ["pending_at", "2016-12-30 06:50:36.834981"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.837536"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 148 323 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 149 324 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 150 325 | 
             
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 151 | 
            -
            :value:  | 
| 326 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 152 327 | 
             
            :format: 1
         | 
| 153 328 | 
             
            ' LIMIT 1[0m
         | 
| 154 | 
            -
              [1m[35mSQL (0. | 
| 329 | 
            +
              [1m[35mSQL (0.4ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.840710"], ["data", "{}"], ["filename", "cat.png"], ["parent_id", 1], ["parent_type", "Product"], ["pending_at", "2016-12-30 06:50:36.839167"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.840710"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 155 330 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 156 | 
            -
              [1m[35mS3Relay::Upload Load (0. | 
| 157 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mUPDATE "s3_relay_uploads" SET "parent_type" = 'Product', "parent_id" = 4 WHERE "s3_relay_uploads"."uuid" = '87bcb4f5-3358-414c-9b2b-8d39318e36b1' AND "s3_relay_uploads"."upload_type" = 'IconUpload'[0m
         | 
| 158 | 
            -
              [1m[35mS3Relay::Upload Load (0.2ms)[0m  SELECT  "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 4 AND "s3_relay_uploads"."upload_type" = 'IconUpload'  ORDER BY pending_at ASC LIMIT 1
         | 
| 331 | 
            +
              [1m[35mS3Relay::Upload Load (0.9ms)[0m  SELECT  "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 1 AND "s3_relay_uploads"."upload_type" = 'IconUpload'  ORDER BY pending_at ASC LIMIT 1
         | 
| 159 332 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 160 333 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 161 | 
            -
             | 
| 162 | 
            -
            S3Relay::Upload:: | 
| 163 | 
            -
             | 
| 164 | 
            -
              [1m[ | 
| 165 | 
            -
              [1m[35mSQL (0.3ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"  [["created_at", "2016-04-14 17:07:11.284065"], ["pending_at", "2016-04-14 17:07:11.283793"], ["state", "pending"], ["updated_at", "2016-04-14 17:07:11.284065"]]
         | 
| 166 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 167 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 168 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2016-04-14 17:07:11.285393"], ["pending_at", "2016-04-14 17:07:11.285165"], ["state", "imported"], ["updated_at", "2016-04-14 17:07:11.285393"]]
         | 
| 169 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 170 | 
            -
              [1m[36mS3Relay::Upload Load (0.3ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."state" = 'imported'[0m
         | 
| 171 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 172 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 173 | 
            -
            -------------------------------------------------------
         | 
| 174 | 
            -
            S3Relay::Upload::upon finalization: test_0001_anonymous
         | 
| 175 | 
            -
            -------------------------------------------------------
         | 
| 334 | 
            +
            ----------------------------------------------------------------------
         | 
| 335 | 
            +
            S3Relay::Upload::validations::pending_at: test_0001_validates presence
         | 
| 336 | 
            +
            ----------------------------------------------------------------------
         | 
| 337 | 
            +
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 176 338 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 177 339 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 178 340 | 
             
            -----------------------------------------------
         | 
| 179 | 
            -
            S3Relay::Upload::# | 
| 341 | 
            +
            S3Relay::Upload::#pending?: test_0001_anonymous
         | 
| 180 342 | 
             
            -----------------------------------------------
         | 
| 181 343 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 182 344 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 183 | 
            -
             | 
| 184 | 
            -
             | 
| 185 | 
            -
             | 
| 186 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 187 | 
            -
            --------------------------------------------------------
         | 
| 188 | 
            -
            S3Relay::UploadsController::GET new: test_0001_anonymous
         | 
| 189 | 
            -
            --------------------------------------------------------
         | 
| 190 | 
            -
            Processing by S3Relay::UploadsController#new as HTML
         | 
| 191 | 
            -
            Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
         | 
| 192 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 193 | 
            -
              [1m[36m (0.2ms)[0m  [1mBEGIN[0m
         | 
| 194 | 
            -
            -----------------------------------------------------------------------------------------------------------------
         | 
| 195 | 
            -
            S3Relay::UploadsController::POST create::success::with parent attributes::matching an object: test_0001_anonymous
         | 
| 196 | 
            -
            -----------------------------------------------------------------------------------------------------------------
         | 
| 345 | 
            +
            ---------------------------------------------------------------------------------
         | 
| 346 | 
            +
            S3Relay::UploadsHelper::#s3_relay_field::with multiple: true: test_0001_anonymous
         | 
| 347 | 
            +
            ---------------------------------------------------------------------------------
         | 
| 197 348 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 198 | 
            -
              [1m[36mSQL (0. | 
| 199 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 200 | 
            -
              [1m[36m (0.3ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 201 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 202 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"d67dbcab-939c-4773-b2c6-4adc53ca149c", "filename"=>"cat.png", "content_type"=>"image/png", "parent_type"=>"Product", "parent_id"=>"5"}
         | 
| 203 | 
            -
              [1m[35mProduct Load (0.2ms)[0m  SELECT  "products".* FROM "products"  WHERE "products"."id" = 5 LIMIT 1
         | 
| 204 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 205 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 206 | 
            -
            :value: d67dbcab-939c-4773-b2c6-4adc53ca149c
         | 
| 207 | 
            -
            :format: 1
         | 
| 208 | 
            -
            ' LIMIT 1
         | 
| 209 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-04-14 17:07:11.305678"], ["filename", "cat.png"], ["parent_id", 5], ["parent_type", "Product"], ["pending_at", "2016-04-14 17:07:11.304312"], ["state", "pending"], ["updated_at", "2016-04-14 17:07:11.305678"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 349 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-12-30 06:50:36.862657"], ["name", "Flux Capacitor"], ["updated_at", "2016-12-30 06:50:36.862657"]]
         | 
| 210 350 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 211 | 
            -
            Completed 201 Created in 4ms (Views: 0.2ms | ActiveRecord: 0.8ms)
         | 
| 212 | 
            -
              [1m[36m (0.3ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 213 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 214 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 215 | 
            -
            ------------------------------------------------------------------------
         | 
| 216 | 
            -
            S3Relay::Upload::validations::content_type: test_0001_validates presence
         | 
| 217 | 
            -
            ------------------------------------------------------------------------
         | 
| 218 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 219 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 220 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 221 | 
            -
            ----------------------------------------------------------
         | 
| 222 | 
            -
            S3Relay::Upload::associations::parent: test_0001_anonymous
         | 
| 223 | 
            -
            ----------------------------------------------------------
         | 
| 224 351 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 225 352 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 226 353 | 
             
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 227 | 
            -
              [1m[35m (0. | 
| 354 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 228 355 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 229 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016- | 
| 356 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-12-30 06:50:36.866235"], ["name", "Flux Capacitor"], ["updated_at", "2016-12-30 06:50:36.866235"]]
         | 
| 230 357 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 231 358 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 232 359 | 
             
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 233 | 
            -
            :value:  | 
| 360 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 234 361 | 
             
            :format: 1
         | 
| 235 362 | 
             
            ' LIMIT 1[0m
         | 
| 236 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016- | 
| 363 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.869235"], ["data", "{}"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-12-30 06:50:36.867608"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.869235"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 237 364 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 238 365 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 239 366 | 
             
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 240 | 
            -
            :value:  | 
| 367 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 241 368 | 
             
            :format: 1
         | 
| 242 369 | 
             
            ' LIMIT 1[0m
         | 
| 243 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016- | 
| 370 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.872292"], ["data", "{}"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-12-30 06:50:36.870845"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.872292"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 244 371 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 245 372 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 246 373 | 
             
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 247 | 
            -
            :value:  | 
| 374 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 248 375 | 
             
            :format: 1
         | 
| 249 376 | 
             
            ' LIMIT 1[0m
         | 
| 250 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016- | 
| 377 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.875168"], ["data", "{}"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-12-30 06:50:36.873791"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.875168"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 251 378 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 252 | 
            -
              [1m[ | 
| 379 | 
            +
              [1m[35m (0.2ms)[0m  SELECT "s3_relay_uploads"."id" FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 3 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 253 380 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 254 381 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 255 | 
            -
             | 
| 256 | 
            -
             | 
| 257 | 
            -
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 258 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 259 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 260 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"f1d98adb-e282-4008-90b4-9e1ae6dd80e5", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 261 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 262 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 263 | 
            -
            :value: f1d98adb-e282-4008-90b4-9e1ae6dd80e5
         | 
| 264 | 
            -
            :format: 1
         | 
| 265 | 
            -
            ' LIMIT 1[0m
         | 
| 266 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "user_id", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-04-14 17:07:11.333409"], ["filename", "cat.png"], ["pending_at", "2016-04-14 17:07:11.332364"], ["state", "pending"], ["updated_at", "2016-04-14 17:07:11.333409"], ["upload_type", "PhotoUpload"], ["user_id", 123], ["uuid", "<36 bytes of binary data>"]]
         | 
| 267 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 268 | 
            -
            Completed 201 Created in 3ms (Views: 0.1ms | ActiveRecord: 0.6ms)
         | 
| 269 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 382 | 
            +
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 383 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 270 384 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 271 385 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 272 | 
            -
             | 
| 273 | 
            -
            S3Relay::UploadsController:: | 
| 274 | 
            -
             | 
| 275 | 
            -
             | 
| 276 | 
            -
             | 
| 277 | 
            -
              Parameters: {"uuid"=>"59afdf63-c475-414f-94fd-041b63cb1e30", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 278 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 279 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 280 | 
            -
            :value: 59afdf63-c475-414f-94fd-041b63cb1e30
         | 
| 281 | 
            -
            :format: 1
         | 
| 282 | 
            -
            ' LIMIT 1[0m
         | 
| 283 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK TO SAVEPOINT active_record_1
         | 
| 284 | 
            -
            Completed 422 Unprocessable Entity in 2ms (Views: 0.1ms | ActiveRecord: 0.4ms)
         | 
| 285 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 286 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 287 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 288 | 
            -
            ----------------------------------------------------------------------
         | 
| 289 | 
            -
            S3Relay::Upload::validations::pending_at: test_0001_validates presence
         | 
| 290 | 
            -
            ----------------------------------------------------------------------
         | 
| 291 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 386 | 
            +
            --------------------------------------------------------
         | 
| 387 | 
            +
            S3Relay::UploadsController::GET new: test_0001_anonymous
         | 
| 388 | 
            +
            --------------------------------------------------------
         | 
| 389 | 
            +
            Processing by S3Relay::UploadsController#new as HTML
         | 
| 390 | 
            +
            Completed 200 OK in 1ms (Views: 0.2ms | ActiveRecord: 0.0ms)
         | 
| 292 391 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 293 392 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 294 | 
            -
            -----------------------------------------------------
         | 
| 295 | 
            -
            S3Relay::Upload::#mark_imported!: test_0001_anonymous
         | 
| 296 | 
            -
            -----------------------------------------------------
         | 
| 297 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 298 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 299 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 300 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 301 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 302 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 303 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 304 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 305 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 306 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 307 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 308 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 309 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 310 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 311 | 
            -
              [1m[36m (0.0ms)[0m  [1mBEGIN[0m
         | 
| 312 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 313 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 314 393 | 
             
            -----------------------------------------------------------------------------
         | 
| 315 394 | 
             
            S3Relay::UploadsHelper::#s3_relay_field::without options: test_0001_anonymous
         | 
| 316 395 | 
             
            -----------------------------------------------------------------------------
         | 
| 317 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 318 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-04-14 17:07:11.356277"], ["name", "Flux Capacitor"], ["updated_at", "2016-04-14 17:07:11.356277"]]
         | 
| 319 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 320 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 321 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 322 | 
            -
            ----------------------------------------------------------------
         | 
| 323 | 
            -
            S3Relay::Upload::validations::uuid: test_0001_validates presence
         | 
| 324 | 
            -
            ----------------------------------------------------------------
         | 
| 325 | 
            -
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 326 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 327 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 328 | 
            -
            ------------------------------------------------------------------
         | 
| 329 | 
            -
            S3Relay::Upload::validations::uuid: test_0002_validates uniqueness
         | 
| 330 | 
            -
            ------------------------------------------------------------------
         | 
| 331 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 332 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2016-04-14 17:07:11.361956"], ["pending_at", "2016-04-14 17:07:11.361695"], ["state", "pending"], ["updated_at", "2016-04-14 17:07:11.361956"]]
         | 
| 333 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 334 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 335 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 336 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 337 | 
            -
            ---------------------------------------------------------------------------------
         | 
| 338 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::with multiple: true: test_0001_anonymous
         | 
| 339 | 
            -
            ---------------------------------------------------------------------------------
         | 
| 340 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 341 | 
            -
              [1m[36mSQL (0.1ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-04-14 17:07:11.367148"], ["name", "Flux Capacitor"], ["updated_at", "2016-04-14 17:07:11.367148"]]
         | 
| 342 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 343 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 344 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 345 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 346 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 347 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 348 | 
            -
              [1m[35mSQL (0.1ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-04-14 17:07:11.370704"], ["name", "Flux Capacitor"], ["updated_at", "2016-04-14 17:07:11.370704"]]
         | 
| 349 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 350 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 351 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 352 | 
            -
            :value: 87bcb4f5-3358-414c-9b2b-8d39318e36b1
         | 
| 353 | 
            -
            :format: 1
         | 
| 354 | 
            -
            ' LIMIT 1[0m
         | 
| 355 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-04-14 17:07:11.373006"], ["filename", "cat.png"], ["parent_id", 9], ["parent_type", "Product"], ["pending_at", "2016-04-14 17:07:11.371699"], ["state", "pending"], ["updated_at", "2016-04-14 17:07:11.373006"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 356 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 357 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 358 | 
            -
              [1m[36mS3Relay::Upload Exists (0.1ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 359 | 
            -
            :value: 87bcb4f5-3358-414c-9b2b-8d39318e36b1
         | 
| 360 | 
            -
            :format: 1
         | 
| 361 | 
            -
            ' LIMIT 1[0m
         | 
| 362 | 
            -
              [1m[35mSQL (0.1ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-04-14 17:07:11.375200"], ["filename", "cat.png"], ["parent_id", 9], ["parent_type", "Product"], ["pending_at", "2016-04-14 17:07:11.374185"], ["state", "pending"], ["updated_at", "2016-04-14 17:07:11.375200"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 363 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 364 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 365 | 
            -
              [1m[36mS3Relay::Upload Exists (0.1ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 366 | 
            -
            :value: 87bcb4f5-3358-414c-9b2b-8d39318e36b1
         | 
| 367 | 
            -
            :format: 1
         | 
| 368 | 
            -
            ' LIMIT 1[0m
         | 
| 369 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-04-14 17:07:11.377376"], ["filename", "cat.png"], ["parent_id", 9], ["parent_type", "Product"], ["pending_at", "2016-04-14 17:07:11.376288"], ["state", "pending"], ["updated_at", "2016-04-14 17:07:11.377376"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 370 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 371 | 
            -
              [1m[35m (0.2ms)[0m  SELECT "s3_relay_uploads"."id" FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 9 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 372 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 373 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 374 | 
            -
            --------------------------------------------------------------------
         | 
| 375 | 
            -
            S3Relay::Upload::validations::filename: test_0001_validates presence
         | 
| 376 | 
            -
            --------------------------------------------------------------------
         | 
| 377 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 378 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 379 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 380 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 381 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 382 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 383 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 384 | 
            -
            -----------------------------------------------------------------------
         | 
| 385 | 
            -
            S3Relay::Upload::validations::upload_type: test_0001_validates presence
         | 
| 386 | 
            -
            -----------------------------------------------------------------------
         | 
| 387 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 388 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 389 | 
            -
              [1m[36mSQL (0.4ms)[0m  [1mCREATE EXTENSION IF NOT EXISTS "plpgsql"[0m
         | 
| 390 | 
            -
              [1m[35m (14.5ms)[0m  CREATE TABLE "products" ("id" serial primary key, "name" character varying(255), "created_at" timestamp, "updated_at" timestamp) 
         | 
| 391 | 
            -
              [1m[36m (3.7ms)[0m  [1mCREATE TABLE "s3_relay_uploads" ("id" serial primary key, "uuid" bytea, "user_id" integer, "parent_type" character varying(255), "parent_id" integer, "upload_type" character varying(255), "filename" text, "content_type" character varying(255), "state" character varying(255), "data" json DEFAULT '{}', "pending_at" timestamp, "imported_at" timestamp, "created_at" timestamp, "updated_at" timestamp) [0m
         | 
| 392 | 
            -
              [1m[35m (0.7ms)[0m  CREATE TABLE "schema_migrations" ("version" character varying(255) NOT NULL) 
         | 
| 393 | 
            -
              [1m[36m (1.0ms)[0m  [1mCREATE UNIQUE INDEX  "unique_schema_migrations" ON "schema_migrations"  ("version")[0m
         | 
| 394 | 
            -
              [1m[35m (0.2ms)[0m  SELECT version FROM "schema_migrations"
         | 
| 395 | 
            -
              [1m[36m (0.4ms)[0m  [1mINSERT INTO "schema_migrations" (version) VALUES ('20141021002149')[0m
         | 
| 396 | 
            -
              [1m[35m (0.4ms)[0m  INSERT INTO "schema_migrations" (version) VALUES ('20141009000804')
         | 
| 397 | 
            -
              [1m[36mActiveRecord::SchemaMigration Load (0.2ms)[0m  [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 398 | 
            -
              [1m[35m (0.4ms)[0m  ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" DISABLE TRIGGER ALL;ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL
         | 
| 399 | 
            -
              [1m[36m (1.1ms)[0m  [1mselect table_name from information_schema.views where table_schema = 's3_relay_test'[0m
         | 
| 400 | 
            -
              [1m[35m (3.2ms)[0m  TRUNCATE TABLE "products", "s3_relay_uploads" RESTART IDENTITY CASCADE;
         | 
| 401 | 
            -
              [1m[36m (0.2ms)[0m  [1mALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" ENABLE TRIGGER ALL[0m
         | 
| 402 | 
            -
              [1m[35m (0.2ms)[0m  BEGIN
         | 
| 403 | 
            -
            ---------------------------------------------------------------------------------------------------------------------
         | 
| 404 | 
            -
            S3Relay::UploadsController::POST create::success::with parent attributes::not matching an object: test_0001_anonymous
         | 
| 405 | 
            -
            ---------------------------------------------------------------------------------------------------------------------
         | 
| 406 | 
            -
              [1m[36m (0.3ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 407 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 408 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"0e5c4bfe-2c72-4ab5-80c5-7819430e7348", "filename"=>"cat.png", "content_type"=>"image/png", "parent_type"=>"Product", "parent_id"=>"10000000"}
         | 
| 409 | 
            -
              [1m[35mProduct Load (0.4ms)[0m  SELECT  "products".* FROM "products"  WHERE "products"."id" = 10000000 LIMIT 1
         | 
| 410 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 411 | 
            -
              [1m[35mS3Relay::Upload Exists (0.5ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 412 | 
            -
            :value: 0e5c4bfe-2c72-4ab5-80c5-7819430e7348
         | 
| 413 | 
            -
            :format: 1
         | 
| 414 | 
            -
            ' LIMIT 1
         | 
| 415 | 
            -
              [1m[36mSQL (0.5ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.419053"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.407270"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.419053"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 416 | 
            -
              [1m[35m (0.2ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 417 | 
            -
            Completed 201 Created in 36ms (Views: 0.2ms | ActiveRecord: 3.1ms)
         | 
| 418 | 
            -
              [1m[36m (0.3ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 419 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 420 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 421 | 
            -
            ----------------------------------------------------------------
         | 
| 422 | 
            -
            S3Relay::Upload::validations::uuid: test_0001_validates presence
         | 
| 423 | 
            -
            ----------------------------------------------------------------
         | 
| 424 | 
            -
              [1m[35mS3Relay::Upload Exists (0.4ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 425 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 426 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 427 | 
            -
            ------------------------------------------------------------------
         | 
| 428 | 
            -
            S3Relay::Upload::validations::uuid: test_0002_validates uniqueness
         | 
| 429 | 
            -
            ------------------------------------------------------------------
         | 
| 430 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 431 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"  [["created_at", "2016-09-07 16:33:45.439905"], ["pending_at", "2016-09-07 16:33:45.439498"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.439905"]]
         | 
| 432 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 433 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 434 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 435 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 436 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 437 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 438 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 439 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 440 | 
            -
            --------------------------------------------------------
         | 
| 441 | 
            -
            S3Relay::UploadsController::GET new: test_0001_anonymous
         | 
| 442 | 
            -
            --------------------------------------------------------
         | 
| 443 | 
            -
            Processing by S3Relay::UploadsController#new as HTML
         | 
| 444 | 
            -
            Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms)
         | 
| 445 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 446 | 
            -
              [1m[35m (0.2ms)[0m  BEGIN
         | 
| 447 | 
            -
            -------------------------------------------------------
         | 
| 448 | 
            -
            S3Relay::Upload::upon finalization: test_0001_anonymous
         | 
| 449 | 
            -
            -------------------------------------------------------
         | 
| 450 | 
            -
              [1m[36m (0.2ms)[0m  [1mROLLBACK[0m
         | 
| 451 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 452 | 
            -
            -----------------------------------------------
         | 
| 453 | 
            -
            S3Relay::Upload::#imported: test_0001_anonymous
         | 
| 454 | 
            -
            -----------------------------------------------
         | 
| 455 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 456 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 457 | 
            -
            -----------------------------------------------
         | 
| 458 | 
            -
            S3Relay::Upload::#pending?: test_0001_anonymous
         | 
| 459 | 
            -
            -----------------------------------------------
         | 
| 460 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 461 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 462 | 
            -
            --------------------------------------------------
         | 
| 463 | 
            -
            S3Relay::Upload::#private_url: test_0001_anonymous
         | 
| 464 | 
            -
            --------------------------------------------------
         | 
| 465 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 466 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 467 | 
            -
            ---------------------------------------------------------------------------------
         | 
| 468 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::with multiple: true: test_0001_anonymous
         | 
| 469 | 
            -
            ---------------------------------------------------------------------------------
         | 
| 470 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 471 | 
            -
              [1m[35mSQL (0.4ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:33:45.467004"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.467004"]]
         | 
| 472 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 473 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 474 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 475 | 
            -
            ----------------------------------------------------------
         | 
| 476 | 
            -
            S3Relay::Upload::associations::parent: test_0001_anonymous
         | 
| 477 | 
            -
            ----------------------------------------------------------
         | 
| 478 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 479 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 480 | 
            -
            ------------------------------------------------------------------------------------------
         | 
| 481 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::with disposition: attachment: test_0001_anonymous
         | 
| 482 | 
            -
            ------------------------------------------------------------------------------------------
         | 
| 483 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 484 | 
            -
              [1m[36mSQL (0.3ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:33:45.475544"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.475544"]]
         | 
| 485 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 486 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 487 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 488 | 
            -
            -----------------------------------------------------------------------------------
         | 
| 489 | 
            -
            S3Relay::Upload::#notify_parent::when the parent is associated: test_0001_anonymous
         | 
| 490 | 
            -
            -----------------------------------------------------------------------------------
         | 
| 491 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 492 | 
            -
              [1m[35mSQL (0.1ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:33:45.480164"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.480164"]]
         | 
| 493 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 494 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 495 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 496 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 497 | 
            -
            :format: 1
         | 
| 498 | 
            -
            ' LIMIT 1[0m
         | 
| 499 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.483102"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:33:45.479441"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.483102"], ["upload_type", "FileUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 500 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 501 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 502 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 503 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 504 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 505 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 506 | 
            -
              [1m[36mSQL (0.1ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:33:45.486877"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.486877"]]
         | 
| 507 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 508 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 509 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 510 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 511 | 
            -
            :format: 1
         | 
| 512 | 
            -
            ' LIMIT 1
         | 
| 513 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.489710"], ["filename", "cat.png"], ["parent_id", 4], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:33:45.488176"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.489710"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 514 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 515 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 516 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 517 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 518 | 
            -
            :format: 1
         | 
| 519 | 
            -
            ' LIMIT 1
         | 
| 520 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.492641"], ["filename", "cat.png"], ["parent_id", 4], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:33:45.491298"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.492641"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 521 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 522 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 523 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 524 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 525 | 
            -
            :format: 1
         | 
| 526 | 
            -
            ' LIMIT 1
         | 
| 527 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.495423"], ["filename", "cat.png"], ["parent_id", 4], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:33:45.494078"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.495423"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 528 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 529 | 
            -
              [1m[36m (0.3ms)[0m  [1mSELECT "s3_relay_uploads"."id" FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 4 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 530 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 531 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 532 | 
            -
            -----------------------------------------------------------------------------------------------------------------
         | 
| 533 | 
            -
            S3Relay::UploadsController::POST create::success::with parent attributes::matching an object: test_0001_anonymous
         | 
| 534 | 
            -
            -----------------------------------------------------------------------------------------------------------------
         | 
| 535 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 536 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:33:45.501210"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.501210"]]
         | 
| 537 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 538 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 539 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 540 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"c4ccd03c-c40b-45a1-b3fd-30189c243c74", "filename"=>"cat.png", "content_type"=>"image/png", "parent_type"=>"Product", "parent_id"=>"5"}
         | 
| 541 | 
            -
              [1m[35mProduct Load (0.2ms)[0m  SELECT  "products".* FROM "products"  WHERE "products"."id" = 5 LIMIT 1
         | 
| 542 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 543 | 
            -
              [1m[35mS3Relay::Upload Exists (0.4ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 544 | 
            -
            :value: c4ccd03c-c40b-45a1-b3fd-30189c243c74
         | 
| 545 | 
            -
            :format: 1
         | 
| 546 | 
            -
            ' LIMIT 1
         | 
| 547 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.508279"], ["filename", "cat.png"], ["parent_id", 5], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:33:45.506024"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.508279"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 548 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 549 | 
            -
            Completed 201 Created in 6ms (Views: 0.2ms | ActiveRecord: 1.0ms)
         | 
| 550 | 
            -
              [1m[36m (0.3ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 551 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 552 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 553 | 
            -
            --------------------------------------------------------------------
         | 
| 554 | 
            -
            S3Relay::Upload::validations::filename: test_0001_validates presence
         | 
| 555 | 
            -
            --------------------------------------------------------------------
         | 
| 556 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 557 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 558 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 559 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 560 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 561 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 562 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:33:45.516854"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.516854"]]
         | 
| 563 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 564 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 565 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 566 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 567 | 
            -
            :format: 1
         | 
| 568 | 
            -
            ' LIMIT 1[0m
         | 
| 569 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.519653"], ["filename", "cat.png"], ["parent_id", 6], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:33:45.518088"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.519653"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 570 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 571 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 572 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 573 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 574 | 
            -
            :format: 1
         | 
| 575 | 
            -
            ' LIMIT 1[0m
         | 
| 576 | 
            -
              [1m[35mSQL (0.1ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.522536"], ["filename", "cat.png"], ["parent_id", 6], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:33:45.521159"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.522536"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 577 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 578 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 579 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 580 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 581 | 
            -
            :format: 1
         | 
| 582 | 
            -
            ' LIMIT 1[0m
         | 
| 583 | 
            -
              [1m[35mSQL (0.1ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.525076"], ["filename", "cat.png"], ["parent_id", 6], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:33:45.523819"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.525076"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 584 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 585 | 
            -
              [1m[35mS3Relay::Upload Load (0.5ms)[0m  SELECT  "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 6 AND "s3_relay_uploads"."upload_type" = 'IconUpload'  ORDER BY pending_at ASC LIMIT 1
         | 
| 586 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 587 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 588 | 
            -
            -------------------------------------------------------------------
         | 
| 589 | 
            -
            S3Relay::UploadsController::POST create::error: test_0001_anonymous
         | 
| 590 | 
            -
            -------------------------------------------------------------------
         | 
| 591 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 592 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 593 | 
            -
              Parameters: {"uuid"=>"d19d0438-4df4-47b1-8a5e-2ed27bacf32a", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 594 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 595 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 596 | 
            -
            :value: d19d0438-4df4-47b1-8a5e-2ed27bacf32a
         | 
| 597 | 
            -
            :format: 1
         | 
| 598 | 
            -
            ' LIMIT 1[0m
         | 
| 599 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK TO SAVEPOINT active_record_1
         | 
| 600 | 
            -
            Completed 422 Unprocessable Entity in 3ms (Views: 0.2ms | ActiveRecord: 0.4ms)
         | 
| 601 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 602 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 603 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 604 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 605 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 606 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 607 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:33:45.536751"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.536751"]]
         | 
| 608 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 609 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 610 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 611 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 612 | 
            -
            :format: 1
         | 
| 613 | 
            -
            ' LIMIT 1
         | 
| 614 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.539221"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.537947"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.539221"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 615 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 616 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 617 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 618 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 619 | 
            -
            :format: 1
         | 
| 620 | 
            -
            ' LIMIT 1
         | 
| 621 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.541626"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.540488"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.541626"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 622 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 623 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 624 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 625 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 626 | 
            -
            :format: 1
         | 
| 627 | 
            -
            ' LIMIT 1
         | 
| 628 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.543980"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.542841"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.543980"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 629 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 630 | 
            -
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 7 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 631 | 
            -
              [1m[35mSQL (0.3ms)[0m  UPDATE "s3_relay_uploads" SET "parent_type" = 'Product', "parent_id" = 7 WHERE "s3_relay_uploads"."uuid" IN ('356d4976-4484-4656-a052-48da223b71c3', '356d4976-4484-4656-a052-48da223b71c3') AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 632 | 
            -
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 7 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 633 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 634 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 635 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 636 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 637 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 638 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:33:45.548658"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.548658"]]
         | 
| 639 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 640 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 641 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 642 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 643 | 
            -
            :format: 1
         | 
| 644 | 
            -
            ' LIMIT 1
         | 
| 645 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.550952"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.549783"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.550952"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 646 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 647 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 648 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 649 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 650 | 
            -
            :format: 1
         | 
| 651 | 
            -
            ' LIMIT 1
         | 
| 652 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.553251"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.552150"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.553251"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 653 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 654 | 
            -
              [1m[36m (0.2ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 655 | 
            -
              [1m[35mS3Relay::Upload Exists (0.3ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 656 | 
            -
            :value: 356d4976-4484-4656-a052-48da223b71c3
         | 
| 657 | 
            -
            :format: 1
         | 
| 658 | 
            -
            ' LIMIT 1
         | 
| 659 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.556822"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.554746"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.556822"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 660 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 661 | 
            -
              [1m[36mS3Relay::Upload Load (0.3ms)[0m  [1mSELECT  "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 8 AND "s3_relay_uploads"."upload_type" = 'IconUpload'  ORDER BY pending_at ASC LIMIT 1[0m
         | 
| 662 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 663 | 
            -
              [1m[36m (0.2ms)[0m  [1mBEGIN[0m
         | 
| 664 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 665 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 666 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 667 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 668 | 
            -
            -----------------------------------------------------------------------
         | 
| 669 | 
            -
            S3Relay::Upload::validations::upload_type: test_0001_validates presence
         | 
| 670 | 
            -
            -----------------------------------------------------------------------
         | 
| 671 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 672 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 673 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 674 | 
            -
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 675 | 
            -
            S3Relay::UploadsController::POST create::success::with parent attributes::with a current_user: test_0001_associates the upload with the user
         | 
| 676 | 
            -
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 677 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 678 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 679 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"0f88c4e6-2ca2-489b-9636-8375f181c9c6", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 680 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 681 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 682 | 
            -
            :value: 0f88c4e6-2ca2-489b-9636-8375f181c9c6
         | 
| 683 | 
            -
            :format: 1
         | 
| 684 | 
            -
            ' LIMIT 1[0m
         | 
| 685 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "user_id", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.573298"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.571989"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.573298"], ["upload_type", "PhotoUpload"], ["user_id", 123], ["uuid", "<36 bytes of binary data>"]]
         | 
| 686 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 687 | 
            -
            Completed 201 Created in 4ms (Views: 0.2ms | ActiveRecord: 0.6ms)
         | 
| 688 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 689 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 690 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 691 | 
            -
            -----------------------------------------------------
         | 
| 692 | 
            -
            S3Relay::Upload::#mark_imported!: test_0001_anonymous
         | 
| 693 | 
            -
            -----------------------------------------------------
         | 
| 694 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 695 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 696 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 697 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 698 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 699 | 
            -
            -----------------------------------------------------
         | 
| 700 | 
            -
            S3Relay::Upload::scopes::pending: test_0001_anonymous
         | 
| 701 | 
            -
            -----------------------------------------------------
         | 
| 702 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 703 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2016-09-07 16:33:45.581791"], ["pending_at", "2016-09-07 16:33:45.581566"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.581791"]]
         | 
| 704 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 705 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 706 | 
            -
              [1m[35mSQL (0.1ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"  [["created_at", "2016-09-07 16:33:45.583119"], ["pending_at", "2016-09-07 16:33:45.582860"], ["state", "imported"], ["updated_at", "2016-09-07 16:33:45.583119"]]
         | 
| 707 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 708 | 
            -
              [1m[35mS3Relay::Upload Load (0.2ms)[0m  SELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."state" = 'pending'
         | 
| 709 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 710 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 711 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 712 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 713 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 714 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 715 | 
            -
            ----------------------------------------------------------------------
         | 
| 716 | 
            -
            S3Relay::Upload::validations::pending_at: test_0001_validates presence
         | 
| 717 | 
            -
            ----------------------------------------------------------------------
         | 
| 718 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 719 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 720 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 721 | 
            -
            -----------------------------------------------------------------------------
         | 
| 722 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::without options: test_0001_anonymous
         | 
| 723 | 
            -
            -----------------------------------------------------------------------------
         | 
| 724 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 725 | 
            -
              [1m[36mSQL (0.1ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:33:45.593913"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:33:45.593913"]]
         | 
| 726 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 727 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 728 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 729 | 
            -
            ------------------------------------------------------
         | 
| 730 | 
            -
            S3Relay::Upload::scopes::imported: test_0001_anonymous
         | 
| 731 | 
            -
            ------------------------------------------------------
         | 
| 732 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 733 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"  [["created_at", "2016-09-07 16:33:45.596650"], ["pending_at", "2016-09-07 16:33:45.596420"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.596650"]]
         | 
| 734 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 735 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 736 | 
            -
              [1m[36mSQL (0.1ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2016-09-07 16:33:45.598046"], ["pending_at", "2016-09-07 16:33:45.597776"], ["state", "imported"], ["updated_at", "2016-09-07 16:33:45.598046"]]
         | 
| 737 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 738 | 
            -
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."state" = 'imported'[0m
         | 
| 739 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 740 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 741 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 742 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 743 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 744 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 745 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 746 | 
            -
              [1m[36m (0.0ms)[0m  [1mBEGIN[0m
         | 
| 747 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 748 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 749 | 
            -
            ---------------------------------------------------------------------
         | 
| 750 | 
            -
            S3Relay::UploadsController::POST create::success: test_0001_anonymous
         | 
| 751 | 
            -
            ---------------------------------------------------------------------
         | 
| 752 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 753 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 754 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"a233b082-5ac9-4aa9-9e7f-9691d061d2d6", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 755 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 756 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 757 | 
            -
            :value: a233b082-5ac9-4aa9-9e7f-9691d061d2d6
         | 
| 758 | 
            -
            :format: 1
         | 
| 759 | 
            -
            ' LIMIT 1
         | 
| 760 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:33:45.607065"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:33:45.605776"], ["state", "pending"], ["updated_at", "2016-09-07 16:33:45.607065"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 761 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 762 | 
            -
            Completed 201 Created in 3ms (Views: 0.2ms | ActiveRecord: 0.6ms)
         | 
| 763 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 764 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 765 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 766 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 767 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 768 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 769 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 770 | 
            -
            ------------------------------------------------------------------------
         | 
| 771 | 
            -
            S3Relay::Upload::validations::content_type: test_0001_validates presence
         | 
| 772 | 
            -
            ------------------------------------------------------------------------
         | 
| 773 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 774 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 775 | 
            -
              [1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m  [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 776 | 
            -
              [1m[35m (0.3ms)[0m  ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" DISABLE TRIGGER ALL
         | 
| 777 | 
            -
              [1m[36m (1.2ms)[0m  [1mselect table_name from information_schema.views where table_schema = 's3_relay_test'[0m
         | 
| 778 | 
            -
              [1m[35m (5.5ms)[0m  TRUNCATE TABLE "products", "s3_relay_uploads" RESTART IDENTITY CASCADE;
         | 
| 779 | 
            -
              [1m[36m (0.2ms)[0m  [1mALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" ENABLE TRIGGER ALL[0m
         | 
| 780 | 
            -
              [1m[35m (0.2ms)[0m  BEGIN
         | 
| 781 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 782 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 783 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 784 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 785 | 
            -
            -----------------------------------------------------------------------
         | 
| 786 | 
            -
            S3Relay::Upload::validations::upload_type: test_0001_validates presence
         | 
| 787 | 
            -
            -----------------------------------------------------------------------
         | 
| 788 | 
            -
              [1m[36mS3Relay::Upload Exists (0.5ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 789 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 790 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 791 | 
            -
            ----------------------------------------------------------------------
         | 
| 792 | 
            -
            S3Relay::Upload::validations::pending_at: test_0001_validates presence
         | 
| 793 | 
            -
            ----------------------------------------------------------------------
         | 
| 794 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 795 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 796 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 797 | 
            -
            --------------------------------------------------
         | 
| 798 | 
            -
            S3Relay::Upload::#private_url: test_0001_anonymous
         | 
| 799 | 
            -
            --------------------------------------------------
         | 
| 800 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 801 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 802 | 
            -
            --------------------------------------------------------------------
         | 
| 803 | 
            -
            S3Relay::Upload::validations::filename: test_0001_validates presence
         | 
| 804 | 
            -
            --------------------------------------------------------------------
         | 
| 805 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 806 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 807 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 808 | 
            -
            ------------------------------------------------------------------------
         | 
| 809 | 
            -
            S3Relay::Upload::validations::content_type: test_0001_validates presence
         | 
| 810 | 
            -
            ------------------------------------------------------------------------
         | 
| 811 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 812 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 813 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 814 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 815 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 816 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 817 | 
            -
              [1m[35mSQL (0.4ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:34:53.062528"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:34:53.062528"]]
         | 
| 818 | 
            -
              [1m[36m (0.2ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 819 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 820 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 821 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 822 | 
            -
            :format: 1
         | 
| 823 | 
            -
            ' LIMIT 1[0m
         | 
| 824 | 
            -
              [1m[35mSQL (0.4ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.067985"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.066150"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.067985"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 825 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 826 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 827 | 
            -
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 828 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 829 | 
            -
            :format: 1
         | 
| 830 | 
            -
            ' LIMIT 1[0m
         | 
| 831 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.076411"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.074689"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.076411"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 832 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 833 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 834 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 835 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 836 | 
            -
            :format: 1
         | 
| 837 | 
            -
            ' LIMIT 1[0m
         | 
| 838 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.079223"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.077950"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.079223"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 839 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 840 | 
            -
              [1m[35mS3Relay::Upload Load (0.4ms)[0m  SELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 1 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 841 | 
            -
              [1m[36mSQL (0.3ms)[0m  [1mUPDATE "s3_relay_uploads" SET "parent_type" = 'Product', "parent_id" = 1 WHERE "s3_relay_uploads"."uuid" IN ('bb66867f-e23a-4b65-93cd-61cab6718c14', 'bb66867f-e23a-4b65-93cd-61cab6718c14') AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 842 | 
            -
              [1m[35mS3Relay::Upload Load (0.3ms)[0m  SELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 1 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 843 | 
            -
              [1m[36m (0.2ms)[0m  [1mROLLBACK[0m
         | 
| 844 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 845 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 846 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 847 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 848 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:34:53.087866"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:34:53.087866"]]
         | 
| 849 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 850 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 851 | 
            -
              [1m[36mS3Relay::Upload Exists (0.4ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 852 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 853 | 
            -
            :format: 1
         | 
| 854 | 
            -
            ' LIMIT 1[0m
         | 
| 855 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.091528"], ["filename", "cat.png"], ["parent_id", 2], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:34:53.089356"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.091528"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 856 | 
            -
              [1m[36m (0.2ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 857 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 858 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 859 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 860 | 
            -
            :format: 1
         | 
| 861 | 
            -
            ' LIMIT 1[0m
         | 
| 862 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.095508"], ["filename", "cat.png"], ["parent_id", 2], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:34:53.093949"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.095508"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 863 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 864 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 865 | 
            -
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 866 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 867 | 
            -
            :format: 1
         | 
| 868 | 
            -
            ' LIMIT 1[0m
         | 
| 869 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.098932"], ["filename", "cat.png"], ["parent_id", 2], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:34:53.097102"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.098932"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 870 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 871 | 
            -
              [1m[35m (0.2ms)[0m  SELECT "s3_relay_uploads"."id" FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 2 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 872 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 873 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 874 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 875 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 876 | 
            -
              [1m[36m (0.2ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 877 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:34:53.104227"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:34:53.104227"]]
         | 
| 878 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 879 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 880 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 881 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 882 | 
            -
            :format: 1
         | 
| 883 | 
            -
            ' LIMIT 1[0m
         | 
| 884 | 
            -
              [1m[35mSQL (0.3ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.108076"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:34:53.106180"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.108076"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 885 | 
            -
              [1m[36m (0.2ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 886 | 
            -
              [1m[35m (0.2ms)[0m  SAVEPOINT active_record_1
         | 
| 887 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 888 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 889 | 
            -
            :format: 1
         | 
| 890 | 
            -
            ' LIMIT 1[0m
         | 
| 891 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.111773"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:34:53.110134"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.111773"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 892 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 893 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 894 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 895 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 896 | 
            -
            :format: 1
         | 
| 897 | 
            -
            ' LIMIT 1[0m
         | 
| 898 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.114633"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:34:53.113260"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.114633"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 899 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 900 | 
            -
              [1m[35mS3Relay::Upload Load (0.5ms)[0m  SELECT  "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 3 AND "s3_relay_uploads"."upload_type" = 'IconUpload'  ORDER BY pending_at ASC LIMIT 1
         | 
| 901 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 902 | 
            -
              [1m[35m (0.2ms)[0m  BEGIN
         | 
| 903 | 
            -
            ------------------------------------------------------
         | 
| 904 | 
            -
            S3Relay::Upload::scopes::imported: test_0001_anonymous
         | 
| 905 | 
            -
            ------------------------------------------------------
         | 
| 906 | 
            -
              [1m[36m (0.2ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 907 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"  [["created_at", "2016-09-07 16:34:53.119514"], ["pending_at", "2016-09-07 16:34:53.119013"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.119514"]]
         | 
| 908 | 
            -
              [1m[36m (0.2ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 909 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 910 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2016-09-07 16:34:53.121838"], ["pending_at", "2016-09-07 16:34:53.121463"], ["state", "imported"], ["updated_at", "2016-09-07 16:34:53.121838"]]
         | 
| 911 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 912 | 
            -
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."state" = 'imported'[0m
         | 
| 913 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 914 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 915 | 
            -
            -----------------------------------------------------
         | 
| 916 | 
            -
            S3Relay::Upload::scopes::pending: test_0001_anonymous
         | 
| 917 | 
            -
            -----------------------------------------------------
         | 
| 918 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 919 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2016-09-07 16:34:53.126702"], ["pending_at", "2016-09-07 16:34:53.126384"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.126702"]]
         | 
| 920 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 921 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 922 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"  [["created_at", "2016-09-07 16:34:53.128365"], ["pending_at", "2016-09-07 16:34:53.128075"], ["state", "imported"], ["updated_at", "2016-09-07 16:34:53.128365"]]
         | 
| 923 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 924 | 
            -
              [1m[35mS3Relay::Upload Load (0.3ms)[0m  SELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."state" = 'pending'
         | 
| 925 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 926 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 927 | 
            -
            ---------------------------------------------------------------------------------
         | 
| 928 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::with multiple: true: test_0001_anonymous
         | 
| 929 | 
            -
            ---------------------------------------------------------------------------------
         | 
| 930 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 931 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:34:53.134199"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:34:53.134199"]]
         | 
| 932 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 933 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 934 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 935 | 
            -
            --------------------------------------------------------
         | 
| 936 | 
            -
            S3Relay::UploadsController::GET new: test_0001_anonymous
         | 
| 937 | 
            -
            --------------------------------------------------------
         | 
| 938 | 
            -
            Processing by S3Relay::UploadsController#new as HTML
         | 
| 939 | 
            -
            Completed 200 OK in 2ms (Views: 0.3ms | ActiveRecord: 0.0ms)
         | 
| 940 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 941 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 942 | 
            -
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 943 | 
            -
            S3Relay::UploadsController::POST create::success::with parent attributes::with a current_user: test_0001_associates the upload with the user
         | 
| 944 | 
            -
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 945 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 946 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 947 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"f6cb3d96-1e8a-497a-9150-ea7b28ad06be", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 948 | 
            -
              [1m[36m (0.2ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 949 | 
            -
              [1m[35mS3Relay::Upload Exists (0.4ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 950 | 
            -
            :value: f6cb3d96-1e8a-497a-9150-ea7b28ad06be
         | 
| 951 | 
            -
            :format: 1
         | 
| 952 | 
            -
            ' LIMIT 1
         | 
| 953 | 
            -
              [1m[36mSQL (0.3ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "user_id", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.152389"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.149758"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.152389"], ["upload_type", "PhotoUpload"], ["user_id", 123], ["uuid", "<36 bytes of binary data>"]]
         | 
| 954 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 955 | 
            -
            Completed 201 Created in 6ms (Views: 0.2ms | ActiveRecord: 0.9ms)
         | 
| 956 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 957 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 958 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 959 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 960 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 961 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 962 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:34:53.158187"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:34:53.158187"]]
         | 
| 963 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 964 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 965 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 966 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 967 | 
            -
            :format: 1
         | 
| 968 | 
            -
            ' LIMIT 1
         | 
| 969 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.160684"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.159378"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.160684"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 970 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 971 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 972 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 973 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 974 | 
            -
            :format: 1
         | 
| 975 | 
            -
            ' LIMIT 1
         | 
| 976 | 
            -
              [1m[36mSQL (0.1ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.162961"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.161939"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.162961"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 977 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 978 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 979 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 980 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 981 | 
            -
            :format: 1
         | 
| 982 | 
            -
            ' LIMIT 1
         | 
| 983 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.165307"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.164193"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.165307"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 984 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 985 | 
            -
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT  "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'IconUpload'  ORDER BY pending_at ASC LIMIT 1[0m
         | 
| 986 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 987 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 988 | 
            -
            -------------------------------------------------------
         | 
| 989 | 
            -
            S3Relay::Upload::upon finalization: test_0001_anonymous
         | 
| 990 | 
            -
            -------------------------------------------------------
         | 
| 991 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 992 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 993 | 
            -
            -----------------------------------------------
         | 
| 994 | 
            -
            S3Relay::Upload::#imported: test_0001_anonymous
         | 
| 995 | 
            -
            -----------------------------------------------
         | 
| 996 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 997 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 998 | 
            -
            -----------------------------------------------------------------------------------------------------------------
         | 
| 999 | 
            -
            S3Relay::UploadsController::POST create::success::with parent attributes::matching an object: test_0001_anonymous
         | 
| 1000 | 
            -
            -----------------------------------------------------------------------------------------------------------------
         | 
| 1001 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1002 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:34:53.173573"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:34:53.173573"]]
         | 
| 1003 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1004 | 
            -
              [1m[36m (0.4ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 6 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 1005 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 1006 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"3aa3d439-ed71-44c1-91e4-18499be8a080", "filename"=>"cat.png", "content_type"=>"image/png", "parent_type"=>"Product", "parent_id"=>"6"}
         | 
| 1007 | 
            -
              [1m[35mProduct Load (0.2ms)[0m  SELECT  "products".* FROM "products"  WHERE "products"."id" = 6 LIMIT 1
         | 
| 1008 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1009 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1010 | 
            -
            :value: 3aa3d439-ed71-44c1-91e4-18499be8a080
         | 
| 1011 | 
            -
            :format: 1
         | 
| 1012 | 
            -
            ' LIMIT 1
         | 
| 1013 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.180270"], ["filename", "cat.png"], ["parent_id", 6], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:34:53.178717"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.180270"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1014 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1015 | 
            -
            Completed 201 Created in 5ms (Views: 0.2ms | ActiveRecord: 0.9ms)
         | 
| 1016 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 6 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 1017 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1018 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1019 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 1020 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1021 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1022 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1023 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 1024 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1025 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1026 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1027 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 1028 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1029 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1030 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1031 | 
            -
            -----------------------------------------------
         | 
| 1032 | 
            -
            S3Relay::Upload::#pending?: test_0001_anonymous
         | 
| 1033 | 
            -
            -----------------------------------------------
         | 
| 1034 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1035 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1036 | 
            -
            -----------------------------------------------------
         | 
| 1037 | 
            -
            S3Relay::Upload::#mark_imported!: test_0001_anonymous
         | 
| 1038 | 
            -
            -----------------------------------------------------
         | 
| 1039 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1040 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 1041 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK TO SAVEPOINT active_record_1
         | 
| 1042 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1043 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1044 | 
            -
            -----------------------------------------------------------------------------------
         | 
| 1045 | 
            -
            S3Relay::Upload::#notify_parent::when the parent is associated: test_0001_anonymous
         | 
| 1046 | 
            -
            -----------------------------------------------------------------------------------
         | 
| 1047 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1048 | 
            -
              [1m[35mSQL (0.1ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:34:53.195608"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:34:53.195608"]]
         | 
| 1049 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1050 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1051 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1052 | 
            -
            :value: bb66867f-e23a-4b65-93cd-61cab6718c14
         | 
| 1053 | 
            -
            :format: 1
         | 
| 1054 | 
            -
            ' LIMIT 1[0m
         | 
| 1055 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.198154"], ["filename", "cat.png"], ["parent_id", 7], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:34:53.194984"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.198154"], ["upload_type", "FileUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1056 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1057 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1058 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1059 | 
            -
            -----------------------------------------------------------------------------
         | 
| 1060 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::without options: test_0001_anonymous
         | 
| 1061 | 
            -
            -----------------------------------------------------------------------------
         | 
| 1062 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1063 | 
            -
              [1m[36mSQL (0.1ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:34:53.201558"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:34:53.201558"]]
         | 
| 1064 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1065 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1066 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1067 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 1068 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1069 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1070 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1071 | 
            -
            ------------------------------------------------------------------------------------------
         | 
| 1072 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::with disposition: attachment: test_0001_anonymous
         | 
| 1073 | 
            -
            ------------------------------------------------------------------------------------------
         | 
| 1074 396 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1075 | 
            -
              [1m[35mSQL (0. | 
| 397 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-12-30 06:50:36.893511"], ["name", "Flux Capacitor"], ["updated_at", "2016-12-30 06:50:36.893511"]]
         | 
| 1076 398 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1077 399 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1078 400 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| @@ -1080,311 +402,140 @@ S3Relay::UploadsHelper::#s3_relay_field::with disposition: attachment: test_0001 | |
| 1080 402 | 
             
            S3Relay::UploadsController::POST create::success: test_0001_anonymous
         | 
| 1081 403 | 
             
            ---------------------------------------------------------------------
         | 
| 1082 404 | 
             
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 1083 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 1084 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>" | 
| 1085 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1086 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1087 | 
            -
            :value: 01988f6c-3e2a-4d19-8b54-f53e01c3b1c7
         | 
| 1088 | 
            -
            :format: 1
         | 
| 1089 | 
            -
            ' LIMIT 1
         | 
| 1090 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.214229"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.212902"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.214229"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1091 | 
            -
              [1m[35m (0.2ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1092 | 
            -
            Completed 201 Created in 4ms (Views: 0.3ms | ActiveRecord: 0.7ms)
         | 
| 1093 | 
            -
              [1m[36m (0.3ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 1094 | 
            -
              [1m[35m (0.2ms)[0m  ROLLBACK
         | 
| 1095 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1096 | 
            -
            ----------------------------------------------------------------
         | 
| 1097 | 
            -
            S3Relay::Upload::validations::uuid: test_0001_validates presence
         | 
| 1098 | 
            -
            ----------------------------------------------------------------
         | 
| 1099 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 1100 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1101 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1102 | 
            -
            ------------------------------------------------------------------
         | 
| 1103 | 
            -
            S3Relay::Upload::validations::uuid: test_0002_validates uniqueness
         | 
| 1104 | 
            -
            ------------------------------------------------------------------
         | 
| 1105 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1106 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"  [["created_at", "2016-09-07 16:34:53.223765"], ["pending_at", "2016-09-07 16:34:53.223475"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.223765"]]
         | 
| 1107 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1108 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 1109 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1110 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1111 | 
            -
            ---------------------------------------------------------------------------------------------------------------------
         | 
| 1112 | 
            -
            S3Relay::UploadsController::POST create::success::with parent attributes::not matching an object: test_0001_anonymous
         | 
| 1113 | 
            -
            ---------------------------------------------------------------------------------------------------------------------
         | 
| 1114 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 1115 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 1116 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"7add59ac-43d1-4762-b858-9f002d363c02", "filename"=>"cat.png", "content_type"=>"image/png", "parent_type"=>"Product", "parent_id"=>"10000000"}
         | 
| 1117 | 
            -
              [1m[35mProduct Load (0.2ms)[0m  SELECT  "products".* FROM "products"  WHERE "products"."id" = 10000000 LIMIT 1
         | 
| 1118 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1119 | 
            -
              [1m[35mS3Relay::Upload Exists (0.3ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1120 | 
            -
            :value: 7add59ac-43d1-4762-b858-9f002d363c02
         | 
| 1121 | 
            -
            :format: 1
         | 
| 1122 | 
            -
            ' LIMIT 1
         | 
| 1123 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:34:53.235583"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:34:53.233235"], ["state", "pending"], ["updated_at", "2016-09-07 16:34:53.235583"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1124 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1125 | 
            -
            Completed 201 Created in 6ms (Views: 0.2ms | ActiveRecord: 1.1ms)
         | 
| 1126 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 1127 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1128 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1129 | 
            -
            -------------------------------------------------------------------
         | 
| 1130 | 
            -
            S3Relay::UploadsController::POST create::error: test_0001_anonymous
         | 
| 1131 | 
            -
            -------------------------------------------------------------------
         | 
| 1132 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 1133 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 1134 | 
            -
              Parameters: {"uuid"=>"2f57f99e-d3b3-4226-a4d2-7c438bd0e6fd", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 1135 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1136 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1137 | 
            -
            :value: 2f57f99e-d3b3-4226-a4d2-7c438bd0e6fd
         | 
| 1138 | 
            -
            :format: 1
         | 
| 1139 | 
            -
            ' LIMIT 1
         | 
| 1140 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 1141 | 
            -
            Completed 422 Unprocessable Entity in 3ms (Views: 0.2ms | ActiveRecord: 0.5ms)
         | 
| 1142 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 1143 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1144 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1145 | 
            -
            ----------------------------------------------------------
         | 
| 1146 | 
            -
            S3Relay::Upload::associations::parent: test_0001_anonymous
         | 
| 1147 | 
            -
            ----------------------------------------------------------
         | 
| 1148 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1149 | 
            -
              [1m[36mActiveRecord::SchemaMigration Load (0.3ms)[0m  [1mSELECT "schema_migrations".* FROM "schema_migrations"[0m
         | 
| 1150 | 
            -
              [1m[35m (0.3ms)[0m  ALTER TABLE "schema_migrations" DISABLE TRIGGER ALL;ALTER TABLE "products" DISABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" DISABLE TRIGGER ALL
         | 
| 1151 | 
            -
              [1m[36m (2.2ms)[0m  [1mselect table_name from information_schema.views where table_schema = 's3_relay_test'[0m
         | 
| 1152 | 
            -
              [1m[35m (4.6ms)[0m  TRUNCATE TABLE "products", "s3_relay_uploads" RESTART IDENTITY CASCADE;
         | 
| 1153 | 
            -
              [1m[36m (0.3ms)[0m  [1mALTER TABLE "schema_migrations" ENABLE TRIGGER ALL;ALTER TABLE "products" ENABLE TRIGGER ALL;ALTER TABLE "s3_relay_uploads" ENABLE TRIGGER ALL[0m
         | 
| 1154 | 
            -
              [1m[35m (0.2ms)[0m  BEGIN
         | 
| 1155 | 
            -
            --------------------------------------------------------
         | 
| 1156 | 
            -
            S3Relay::UploadsController::GET new: test_0001_anonymous
         | 
| 1157 | 
            -
            --------------------------------------------------------
         | 
| 1158 | 
            -
            Processing by S3Relay::UploadsController#new as HTML
         | 
| 1159 | 
            -
            Completed 200 OK in 2ms (Views: 0.2ms | ActiveRecord: 0.0ms)
         | 
| 1160 | 
            -
              [1m[36m (0.2ms)[0m  [1mROLLBACK[0m
         | 
| 1161 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1162 | 
            -
            -----------------------------------------------------------------------------
         | 
| 1163 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::without options: test_0001_anonymous
         | 
| 1164 | 
            -
            -----------------------------------------------------------------------------
         | 
| 1165 | 
            -
              [1m[36m (0.2ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1166 | 
            -
              [1m[35mSQL (0.5ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:35:33.408574"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:35:33.408574"]]
         | 
| 1167 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1168 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1169 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1170 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 1171 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1172 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1173 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-09-07 16:35:33.415759"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:35:33.415759"]]
         | 
| 1174 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1175 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1176 | 
            -
              [1m[35mS3Relay::Upload Exists (0.5ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1177 | 
            -
            :value: 0c3a7abe-8821-4e0b-a423-99a1c2fa2e57
         | 
| 1178 | 
            -
            :format: 1
         | 
| 1179 | 
            -
            ' LIMIT 1
         | 
| 1180 | 
            -
              [1m[36mSQL (0.4ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:35:33.436619"], ["filename", "cat.png"], ["parent_id", 2], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:35:33.426094"], ["state", "pending"], ["updated_at", "2016-09-07 16:35:33.436619"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1181 | 
            -
              [1m[35m (0.2ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1182 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1183 | 
            -
              [1m[35mS3Relay::Upload Exists (0.3ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1184 | 
            -
            :value: 0c3a7abe-8821-4e0b-a423-99a1c2fa2e57
         | 
| 1185 | 
            -
            :format: 1
         | 
| 1186 | 
            -
            ' LIMIT 1
         | 
| 1187 | 
            -
              [1m[36mSQL (0.3ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:35:33.441855"], ["filename", "cat.png"], ["parent_id", 2], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:35:33.439746"], ["state", "pending"], ["updated_at", "2016-09-07 16:35:33.441855"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1188 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 405 | 
            +
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 406 | 
            +
              Parameters: {"association"=>"photo_uploads", "uuid"=>"df927d35-a844-4712-8444-438d2058da38", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 1189 407 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1190 408 | 
             
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1191 | 
            -
            :value:  | 
| 409 | 
            +
            :value: df927d35-a844-4712-8444-438d2058da38
         | 
| 1192 410 | 
             
            :format: 1
         | 
| 1193 411 | 
             
            ' LIMIT 1
         | 
| 1194 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", " | 
| 412 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.902055"], ["data", "{}"], ["filename", "cat.png"], ["pending_at", "2016-12-30 06:50:36.900650"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.902055"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1195 413 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1196 | 
            -
             | 
| 414 | 
            +
            Completed 201 Created in 4ms (Views: 0.2ms | ActiveRecord: 0.6ms)
         | 
| 415 | 
            +
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 1197 416 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1198 417 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1199 | 
            -
             | 
| 1200 | 
            -
            S3Relay::Upload | 
| 1201 | 
            -
             | 
| 418 | 
            +
            -----------------------------------------------------------------------
         | 
| 419 | 
            +
            S3Relay::Upload::validations::upload_type: test_0001_validates presence
         | 
| 420 | 
            +
            -----------------------------------------------------------------------
         | 
| 421 | 
            +
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 422 | 
            +
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 423 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 424 | 
            +
            ----------------------------------------------------------------
         | 
| 425 | 
            +
            S3Relay::Upload::validations::uuid: test_0001_validates presence
         | 
| 426 | 
            +
            ----------------------------------------------------------------
         | 
| 427 | 
            +
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 1202 428 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1203 429 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1204 | 
            -
             | 
| 1205 | 
            -
             | 
| 430 | 
            +
            ------------------------------------------------------------------
         | 
| 431 | 
            +
            S3Relay::Upload::validations::uuid: test_0002_validates uniqueness
         | 
| 432 | 
            +
            ------------------------------------------------------------------
         | 
| 1206 433 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1207 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO " | 
| 1208 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1209 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1210 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1211 | 
            -
            :value: 0c3a7abe-8821-4e0b-a423-99a1c2fa2e57
         | 
| 1212 | 
            -
            :format: 1
         | 
| 1213 | 
            -
            ' LIMIT 1
         | 
| 1214 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:35:33.457570"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:35:33.455878"], ["state", "pending"], ["updated_at", "2016-09-07 16:35:33.457570"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1215 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1216 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1217 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1218 | 
            -
            :value: 0c3a7abe-8821-4e0b-a423-99a1c2fa2e57
         | 
| 1219 | 
            -
            :format: 1
         | 
| 1220 | 
            -
            ' LIMIT 1
         | 
| 1221 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:35:33.460805"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:35:33.459175"], ["state", "pending"], ["updated_at", "2016-09-07 16:35:33.460805"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1222 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1223 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1224 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1225 | 
            -
            :value: 0c3a7abe-8821-4e0b-a423-99a1c2fa2e57
         | 
| 1226 | 
            -
            :format: 1
         | 
| 1227 | 
            -
            ' LIMIT 1
         | 
| 1228 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:35:33.463621"], ["filename", "cat.png"], ["parent_id", 3], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:35:33.462331"], ["state", "pending"], ["updated_at", "2016-09-07 16:35:33.463621"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 434 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "data", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"[0m  [["created_at", "2016-12-30 06:50:36.914403"], ["data", "{}"], ["pending_at", "2016-12-30 06:50:36.914115"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.914403"]]
         | 
| 1229 435 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1230 | 
            -
              [1m[ | 
| 1231 | 
            -
              [1m[35m (0. | 
| 436 | 
            +
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 437 | 
            +
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1232 438 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1233 439 | 
             
            -------------------------------------------------------
         | 
| 1234 440 | 
             
            S3Relay::Upload::upon finalization: test_0001_anonymous
         | 
| 1235 441 | 
             
            -------------------------------------------------------
         | 
| 1236 442 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1237 443 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 444 | 
            +
            ------------------------------------------------------
         | 
| 445 | 
            +
            S3Relay::Upload::scopes::imported: test_0001_anonymous
         | 
| 446 | 
            +
            ------------------------------------------------------
         | 
| 447 | 
            +
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 448 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "data", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"[0m  [["created_at", "2016-12-30 06:50:36.921707"], ["data", "{}"], ["pending_at", "2016-12-30 06:50:36.921407"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.921707"]]
         | 
| 449 | 
            +
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 450 | 
            +
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 451 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "data", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"  [["created_at", "2016-12-30 06:50:36.923295"], ["data", "{}"], ["pending_at", "2016-12-30 06:50:36.923025"], ["state", "imported"], ["updated_at", "2016-12-30 06:50:36.923295"]]
         | 
| 452 | 
            +
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 453 | 
            +
              [1m[35mS3Relay::Upload Load (0.2ms)[0m  SELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."state" = 'imported'
         | 
| 454 | 
            +
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 455 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 456 | 
            +
            -----------------------------------------------------
         | 
| 457 | 
            +
            S3Relay::Upload::#mark_imported!: test_0001_anonymous
         | 
| 458 | 
            +
            -----------------------------------------------------
         | 
| 459 | 
            +
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 460 | 
            +
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 461 | 
            +
              [1m[36m (0.1ms)[0m  [1mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 462 | 
            +
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 463 | 
            +
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1238 464 | 
             
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 1239 465 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1240 466 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1241 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016- | 
| 467 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-12-30 06:50:36.932377"], ["name", "Flux Capacitor"], ["updated_at", "2016-12-30 06:50:36.932377"]]
         | 
| 1242 468 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1243 469 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1244 470 | 
             
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1245 | 
            -
            :value:  | 
| 471 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 1246 472 | 
             
            :format: 1
         | 
| 1247 473 | 
             
            ' LIMIT 1
         | 
| 1248 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016- | 
| 474 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.935135"], ["data", "{}"], ["filename", "cat.png"], ["pending_at", "2016-12-30 06:50:36.933718"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.935135"], ["upload_type", "IconUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1249 475 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1250 476 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1251 477 | 
             
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1252 | 
            -
            :value:  | 
| 478 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 1253 479 | 
             
            :format: 1
         | 
| 1254 480 | 
             
            ' LIMIT 1
         | 
| 1255 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016- | 
| 481 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.937819"], ["data", "{}"], ["filename", "cat.png"], ["pending_at", "2016-12-30 06:50:36.936573"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.937819"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1256 482 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1257 483 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1258 484 | 
             
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1259 | 
            -
            :value:  | 
| 485 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 1260 486 | 
             
            :format: 1
         | 
| 1261 487 | 
             
            ' LIMIT 1
         | 
| 1262 | 
            -
              [1m[36mSQL (0. | 
| 488 | 
            +
              [1m[36mSQL (0.5ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.940505"], ["data", "{}"], ["filename", "cat.png"], ["pending_at", "2016-12-30 06:50:36.939215"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.940505"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1263 489 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1264 | 
            -
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" =  | 
| 1265 | 
            -
              [1m[35mSQL (0.3ms)[0m  UPDATE "s3_relay_uploads" SET "parent_type" = 'Product', "parent_id" =  | 
| 1266 | 
            -
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" =  | 
| 490 | 
            +
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 491 | 
            +
              [1m[35mSQL (0.3ms)[0m  UPDATE "s3_relay_uploads" SET "parent_type" = 'Product', "parent_id" = 5 WHERE "s3_relay_uploads"."uuid" IN ('b1b5b5e9-157f-415a-892d-1e0e84fcb336', 'b1b5b5e9-157f-415a-892d-1e0e84fcb336') AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 492 | 
            +
              [1m[36mS3Relay::Upload Load (0.2ms)[0m  [1mSELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 1267 493 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1268 | 
            -
              [1m[36m (0. | 
| 1269 | 
            -
             | 
| 1270 | 
            -
            S3Relay::Upload | 
| 1271 | 
            -
             | 
| 1272 | 
            -
              [1m[35mS3Relay::Upload Exists (0.3ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 1273 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1274 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1275 | 
            -
            ----------------------------------------------------------------
         | 
| 1276 | 
            -
            S3Relay::Upload::validations::uuid: test_0001_validates presence
         | 
| 1277 | 
            -
            ----------------------------------------------------------------
         | 
| 1278 | 
            -
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 494 | 
            +
              [1m[36m (0.2ms)[0m  [1mBEGIN[0m
         | 
| 495 | 
            +
            -----------------------------------------------
         | 
| 496 | 
            +
            S3Relay::Upload::#imported: test_0001_anonymous
         | 
| 497 | 
            +
            -----------------------------------------------
         | 
| 1279 498 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1280 499 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1281 | 
            -
             | 
| 1282 | 
            -
            S3Relay:: | 
| 1283 | 
            -
             | 
| 500 | 
            +
            -----------------------------------------------------------------------------------------------------------------
         | 
| 501 | 
            +
            S3Relay::UploadsController::POST create::success::with parent attributes::matching an object: test_0001_anonymous
         | 
| 502 | 
            +
            -----------------------------------------------------------------------------------------------------------------
         | 
| 1284 503 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1285 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO " | 
| 504 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-12-30 06:50:36.949745"], ["name", "Flux Capacitor"], ["updated_at", "2016-12-30 06:50:36.949745"]]
         | 
| 1286 505 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1287 | 
            -
              [1m[ | 
| 1288 | 
            -
             | 
| 1289 | 
            -
               | 
| 1290 | 
            -
             | 
| 1291 | 
            -
             | 
| 1292 | 
            -
             | 
| 1293 | 
            -
             | 
| 1294 | 
            -
             | 
| 1295 | 
            -
             | 
| 1296 | 
            -
              [1m[ | 
| 506 | 
            +
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 6 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 507 | 
            +
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 508 | 
            +
              Parameters: {"association"=>"photo_uploads", "uuid"=>"2b478a2e-e6e2-49f6-a226-e375fd58541f", "filename"=>"cat.png", "content_type"=>"image/png", "parent_type"=>"Product", "parent_id"=>"6"}
         | 
| 509 | 
            +
              [1m[35mProduct Load (0.2ms)[0m  SELECT  "products".* FROM "products"  WHERE "products"."id" = 6 LIMIT 1
         | 
| 510 | 
            +
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 511 | 
            +
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 512 | 
            +
            :value: 2b478a2e-e6e2-49f6-a226-e375fd58541f
         | 
| 513 | 
            +
            :format: 1
         | 
| 514 | 
            +
            ' LIMIT 1
         | 
| 515 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.956132"], ["data", "{}"], ["filename", "cat.png"], ["parent_id", 6], ["parent_type", "Product"], ["pending_at", "2016-12-30 06:50:36.954605"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.956132"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 516 | 
            +
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 517 | 
            +
            Completed 201 Created in 5ms (Views: 0.2ms | ActiveRecord: 0.8ms)
         | 
| 518 | 
            +
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 6 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'[0m
         | 
| 1297 519 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1298 520 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1299 521 | 
             
            -----------------------------------------------------
         | 
| 1300 522 | 
             
            S3Relay::Upload::scopes::pending: test_0001_anonymous
         | 
| 1301 523 | 
             
            -----------------------------------------------------
         | 
| 1302 524 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1303 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id"[0m  [["created_at", "2016- | 
| 525 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("created_at", "data", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"[0m  [["created_at", "2016-12-30 06:50:36.961353"], ["data", "{}"], ["pending_at", "2016-12-30 06:50:36.961050"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.961353"]]
         | 
| 1304 526 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1305 527 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1306 | 
            -
              [1m[35mSQL (0. | 
| 528 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("created_at", "data", "pending_at", "state", "updated_at") VALUES ($1, $2, $3, $4, $5) RETURNING "id"  [["created_at", "2016-12-30 06:50:36.962869"], ["data", "{}"], ["pending_at", "2016-12-30 06:50:36.962621"], ["state", "imported"], ["updated_at", "2016-12-30 06:50:36.962869"]]
         | 
| 1307 529 | 
             
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1308 530 | 
             
              [1m[35mS3Relay::Upload Load (0.2ms)[0m  SELECT "s3_relay_uploads".* FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."state" = 'pending'
         | 
| 1309 531 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1310 532 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1311 | 
            -
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 1312 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1313 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1314 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1315 | 
            -
            -----------------------------------------------------------------------------------------------------------------
         | 
| 1316 | 
            -
            S3Relay::UploadsController::POST create::success::with parent attributes::matching an object: test_0001_anonymous
         | 
| 1317 | 
            -
            -----------------------------------------------------------------------------------------------------------------
         | 
| 1318 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1319 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:35:33.514731"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:35:33.514731"]]
         | 
| 1320 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1321 | 
            -
              [1m[35m (0.3ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 1322 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 1323 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"6df49f66-b480-4815-8593-c5f01772f657", "filename"=>"cat.png", "content_type"=>"image/png", "parent_type"=>"Product", "parent_id"=>"5"}
         | 
| 1324 | 
            -
              [1m[36mProduct Load (0.3ms)[0m  [1mSELECT  "products".* FROM "products"  WHERE "products"."id" = 5 LIMIT 1[0m
         | 
| 1325 | 
            -
              [1m[35m (0.2ms)[0m  SAVEPOINT active_record_1
         | 
| 1326 | 
            -
              [1m[36mS3Relay::Upload Exists (0.3ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1327 | 
            -
            :value: 6df49f66-b480-4815-8593-c5f01772f657
         | 
| 1328 | 
            -
            :format: 1
         | 
| 1329 | 
            -
            ' LIMIT 1[0m
         | 
| 1330 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:35:33.522707"], ["filename", "cat.png"], ["parent_id", 5], ["parent_type", "Product"], ["pending_at", "2016-09-07 16:35:33.519992"], ["state", "pending"], ["updated_at", "2016-09-07 16:35:33.522707"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1331 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1332 | 
            -
            Completed 201 Created in 7ms (Views: 0.2ms | ActiveRecord: 1.1ms)
         | 
| 1333 | 
            -
              [1m[35m (0.3ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."parent_type" = 'Product' AND "s3_relay_uploads"."parent_id" = 5 AND "s3_relay_uploads"."upload_type" = 'PhotoUpload'
         | 
| 1334 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1335 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1336 | 
            -
            ---------------------------------------------------------------------
         | 
| 1337 | 
            -
            S3Relay::UploadsController::POST create::success: test_0001_anonymous
         | 
| 1338 | 
            -
            ---------------------------------------------------------------------
         | 
| 1339 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 1340 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 1341 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>"000a20e4-ed14-4254-b6a1-dd299691c292", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 1342 | 
            -
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1343 | 
            -
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1344 | 
            -
            :value: 000a20e4-ed14-4254-b6a1-dd299691c292
         | 
| 1345 | 
            -
            :format: 1
         | 
| 1346 | 
            -
            ' LIMIT 1[0m
         | 
| 1347 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-09-07 16:35:33.533674"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:35:33.532364"], ["state", "pending"], ["updated_at", "2016-09-07 16:35:33.533674"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1348 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1349 | 
            -
            Completed 201 Created in 4ms (Views: 0.2ms | ActiveRecord: 0.6ms)
         | 
| 1350 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 1351 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1352 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1353 | 
            -
            ----------------------------------------------------------
         | 
| 1354 | 
            -
            S3Relay::Upload::associations::parent: test_0001_anonymous
         | 
| 1355 | 
            -
            ----------------------------------------------------------
         | 
| 1356 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1357 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1358 533 | 
             
            --------------------------------------------------------------------
         | 
| 1359 534 | 
             
            S3Relay::Upload::validations::filename: test_0001_validates presence
         | 
| 1360 535 | 
             
            --------------------------------------------------------------------
         | 
| 1361 536 | 
             
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1[0m
         | 
| 1362 537 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1363 538 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1364 | 
            -
            -------------------------------------------------------------------
         | 
| 1365 | 
            -
            S3Relay::UploadsController::POST create::error: test_0001_anonymous
         | 
| 1366 | 
            -
            -------------------------------------------------------------------
         | 
| 1367 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 1368 | 
            -
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 1369 | 
            -
              Parameters: {"uuid"=>"958b443a-ebd0-49cf-a23f-263dc9810bc3", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 1370 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1371 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1372 | 
            -
            :value: 958b443a-ebd0-49cf-a23f-263dc9810bc3
         | 
| 1373 | 
            -
            :format: 1
         | 
| 1374 | 
            -
            ' LIMIT 1
         | 
| 1375 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK TO SAVEPOINT active_record_1[0m
         | 
| 1376 | 
            -
            Completed 422 Unprocessable Entity in 2ms (Views: 0.1ms | ActiveRecord: 0.4ms)
         | 
| 1377 | 
            -
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 1378 | 
            -
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1379 | 
            -
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1380 | 
            -
            ---------------------------------------------------------------------------------
         | 
| 1381 | 
            -
            S3Relay::UploadsHelper::#s3_relay_field::with multiple: true: test_0001_anonymous
         | 
| 1382 | 
            -
            ---------------------------------------------------------------------------------
         | 
| 1383 | 
            -
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1384 | 
            -
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-09-07 16:35:33.552314"], ["name", "Flux Capacitor"], ["updated_at", "2016-09-07 16:35:33.552314"]]
         | 
| 1385 | 
            -
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1386 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1387 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1388 539 | 
             
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 1389 540 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1390 541 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| @@ -1393,56 +544,71 @@ S3Relay::UploadsHelper::#s3_relay_field::with multiple: true: test_0001_anonymou | |
| 1393 544 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1394 545 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1395 546 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1396 | 
            -
             | 
| 1397 | 
            -
            S3Relay:: | 
| 1398 | 
            -
             | 
| 1399 | 
            -
              [1m[35m (0.2ms)[0m   | 
| 1400 | 
            -
             | 
| 1401 | 
            -
               | 
| 547 | 
            +
            ---------------------------------------------------------------------------------------------------------------------
         | 
| 548 | 
            +
            S3Relay::UploadsController::POST create::success::with parent attributes::not matching an object: test_0001_anonymous
         | 
| 549 | 
            +
            ---------------------------------------------------------------------------------------------------------------------
         | 
| 550 | 
            +
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 551 | 
            +
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 552 | 
            +
              Parameters: {"association"=>"photo_uploads", "uuid"=>"58cd1837-8d87-4dca-ae7e-c612080d5380", "filename"=>"cat.png", "content_type"=>"image/png", "parent_type"=>"Product", "parent_id"=>"10000000"}
         | 
| 553 | 
            +
              [1m[36mProduct Load (0.2ms)[0m  [1mSELECT  "products".* FROM "products"  WHERE "products"."id" = 10000000 LIMIT 1[0m
         | 
| 554 | 
            +
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 555 | 
            +
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 556 | 
            +
            :value: 58cd1837-8d87-4dca-ae7e-c612080d5380
         | 
| 557 | 
            +
            :format: 1
         | 
| 558 | 
            +
            ' LIMIT 1[0m
         | 
| 559 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.978191"], ["data", "{}"], ["filename", "cat.png"], ["pending_at", "2016-12-30 06:50:36.976949"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.978191"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 560 | 
            +
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 561 | 
            +
            Completed 201 Created in 4ms (Views: 0.2ms | ActiveRecord: 0.8ms)
         | 
| 562 | 
            +
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 1402 563 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1403 564 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1404 | 
            -
             | 
| 1405 | 
            -
            S3Relay::Upload::# | 
| 1406 | 
            -
             | 
| 1407 | 
            -
              [1m[36m (0.1ms)[0m  [ | 
| 1408 | 
            -
              [1m[ | 
| 1409 | 
            -
             | 
| 565 | 
            +
            --------------------------------------------------
         | 
| 566 | 
            +
            S3Relay::Upload::#private_url: test_0001_anonymous
         | 
| 567 | 
            +
            --------------------------------------------------
         | 
| 568 | 
            +
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 569 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 570 | 
            +
            -------------------------------------------------------------------
         | 
| 571 | 
            +
            S3Relay::UploadsController::POST create::error: test_0001_anonymous
         | 
| 572 | 
            +
            -------------------------------------------------------------------
         | 
| 573 | 
            +
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 574 | 
            +
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 575 | 
            +
              Parameters: {"uuid"=>"8fc5811d-89be-4a64-a33c-eddd4d328915", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 1410 576 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1411 577 | 
             
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1412 | 
            -
            :value:  | 
| 578 | 
            +
            :value: 8fc5811d-89be-4a64-a33c-eddd4d328915
         | 
| 1413 579 | 
             
            :format: 1
         | 
| 1414 580 | 
             
            ' LIMIT 1[0m
         | 
| 1415 | 
            -
              [1m[ | 
| 1416 | 
            -
             | 
| 1417 | 
            -
              [1m[ | 
| 581 | 
            +
              [1m[35m (0.1ms)[0m  ROLLBACK TO SAVEPOINT active_record_1
         | 
| 582 | 
            +
            Completed 422 Unprocessable Entity in 3ms (Views: 0.2ms | ActiveRecord: 0.4ms)
         | 
| 583 | 
            +
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 584 | 
            +
              [1m[35m (0.2ms)[0m  ROLLBACK
         | 
| 1418 585 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1419 | 
            -
             | 
| 1420 | 
            -
            S3Relay::Upload:: | 
| 1421 | 
            -
             | 
| 586 | 
            +
            -----------------------------------------------------------------------------------
         | 
| 587 | 
            +
            S3Relay::Upload::#notify_parent::when the parent is associated: test_0001_anonymous
         | 
| 588 | 
            +
            -----------------------------------------------------------------------------------
         | 
| 1422 589 | 
             
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 1423 | 
            -
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO " | 
| 590 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"[0m  [["created_at", "2016-12-30 06:50:36.995144"], ["name", "Flux Capacitor"], ["updated_at", "2016-12-30 06:50:36.995144"]]
         | 
| 1424 591 | 
             
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1425 592 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1426 | 
            -
              [1m[ | 
| 1427 | 
            -
             | 
| 1428 | 
            -
             | 
| 593 | 
            +
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 594 | 
            +
            :value: b1b5b5e9-157f-415a-892d-1e0e84fcb336
         | 
| 595 | 
            +
            :format: 1
         | 
| 596 | 
            +
            ' LIMIT 1
         | 
| 597 | 
            +
              [1m[36mSQL (0.2ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "parent_id", "parent_type", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:36.997828"], ["data", "{}"], ["filename", "cat.png"], ["parent_id", 7], ["parent_type", "Product"], ["pending_at", "2016-12-30 06:50:36.994468"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:36.997828"], ["upload_type", "FileUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 598 | 
            +
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1429 599 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1430 600 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1431 | 
            -
             | 
| 1432 | 
            -
            S3Relay::Upload | 
| 1433 | 
            -
             | 
| 601 | 
            +
            ----------------------------------------------------------
         | 
| 602 | 
            +
            S3Relay::Upload::associations::parent: test_0001_anonymous
         | 
| 603 | 
            +
            ----------------------------------------------------------
         | 
| 1434 604 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1435 605 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1436 | 
            -
             | 
| 1437 | 
            -
            S3Relay:: | 
| 1438 | 
            -
             | 
| 606 | 
            +
            ------------------------------------------------------------------------------------------
         | 
| 607 | 
            +
            S3Relay::UploadsHelper::#s3_relay_field::with disposition: attachment: test_0001_anonymous
         | 
| 608 | 
            +
            ------------------------------------------------------------------------------------------
         | 
| 1439 609 | 
             
              [1m[36m (0.1ms)[0m  [1mSAVEPOINT active_record_1[0m
         | 
| 1440 | 
            -
              [1m[ | 
| 1441 | 
            -
              [1m[36m (0.1ms)[0m  [ | 
| 1442 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1443 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1444 | 
            -
              [1m[35m (0.1ms)[0m  COMMIT
         | 
| 1445 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 610 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "products" ("created_at", "name", "updated_at") VALUES ($1, $2, $3) RETURNING "id"  [["created_at", "2016-12-30 06:50:37.005434"], ["name", "Flux Capacitor"], ["updated_at", "2016-12-30 06:50:37.005434"]]
         | 
| 611 | 
            +
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1446 612 | 
             
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1447 613 | 
             
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1448 614 | 
             
            ------------------------------------------------------------------------
         | 
| @@ -1451,43 +617,27 @@ S3Relay::Upload::validations::content_type: test_0001_validates presence | |
| 1451 617 | 
             
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 1452 618 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 1453 619 | 
             
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1454 | 
            -
             | 
| 1455 | 
            -
             | 
| 1456 | 
            -
             | 
| 1457 | 
            -
              [1m[ | 
| 1458 | 
            -
             | 
| 1459 | 
            -
               | 
| 1460 | 
            -
              [1m[ | 
| 1461 | 
            -
              [1m[ | 
| 1462 | 
            -
              [1m[35mS3Relay::Upload Exists (0.3ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 1463 | 
            -
            :value: 0d4facb1-717b-45cc-b423-a4d79c931a0c
         | 
| 1464 | 
            -
            :format: 1
         | 
| 1465 | 
            -
            ' LIMIT 1
         | 
| 1466 | 
            -
              [1m[36mSQL (0.3ms)[0m  [1mINSERT INTO "s3_relay_uploads" ("content_type", "created_at", "filename", "pending_at", "state", "updated_at", "upload_type", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING "id"[0m  [["content_type", "image/png"], ["created_at", "2016-09-07 16:35:33.587219"], ["filename", "cat.png"], ["pending_at", "2016-09-07 16:35:33.585031"], ["state", "pending"], ["updated_at", "2016-09-07 16:35:33.587219"], ["upload_type", "PhotoUpload"], ["uuid", "<36 bytes of binary data>"]]
         | 
| 1467 | 
            -
              [1m[35m (0.1ms)[0m  RELEASE SAVEPOINT active_record_1
         | 
| 1468 | 
            -
            Completed 201 Created in 5ms (Views: 0.2ms | ActiveRecord: 1.1ms)
         | 
| 1469 | 
            -
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 1470 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1471 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 620 | 
            +
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 621 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 622 | 
            +
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 623 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 624 | 
            +
              [1m[36m (0.1ms)[0m  [1mCOMMIT[0m
         | 
| 625 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 626 | 
            +
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         | 
| 627 | 
            +
              [1m[35m (0.1ms)[0m  BEGIN
         | 
| 1472 628 | 
             
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 1473 629 | 
             
            S3Relay::UploadsController::POST create::success::with parent attributes::with a current_user: test_0001_associates the upload with the user
         | 
| 1474 630 | 
             
            --------------------------------------------------------------------------------------------------------------------------------------------
         | 
| 1475 | 
            -
              [1m[ | 
| 631 | 
            +
              [1m[36m (0.2ms)[0m  [1mSELECT COUNT(*) FROM "s3_relay_uploads"[0m
         | 
| 1476 632 | 
             
            Processing by S3Relay::UploadsController#create as HTML
         | 
| 1477 | 
            -
              Parameters: {"association"=>"photo_uploads", "uuid"=>" | 
| 1478 | 
            -
              [1m[ | 
| 1479 | 
            -
              [1m[ | 
| 1480 | 
            -
            :value:  | 
| 633 | 
            +
              Parameters: {"association"=>"photo_uploads", "uuid"=>"ba73948c-98f3-4e82-baa4-ec8654cd4439", "filename"=>"cat.png", "content_type"=>"image/png"}
         | 
| 634 | 
            +
              [1m[35m (0.1ms)[0m  SAVEPOINT active_record_1
         | 
| 635 | 
            +
              [1m[36mS3Relay::Upload Exists (0.2ms)[0m  [1mSELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" = '---
         | 
| 636 | 
            +
            :value: ba73948c-98f3-4e82-baa4-ec8654cd4439
         | 
| 1481 637 | 
             
            :format: 1
         | 
| 1482 | 
            -
            ' LIMIT 1
         | 
| 1483 | 
            -
              [1m[ | 
| 1484 | 
            -
              [1m[ | 
| 638 | 
            +
            ' LIMIT 1[0m
         | 
| 639 | 
            +
              [1m[35mSQL (0.2ms)[0m  INSERT INTO "s3_relay_uploads" ("content_type", "created_at", "data", "filename", "pending_at", "state", "updated_at", "upload_type", "user_id", "uuid") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id"  [["content_type", "image/png"], ["created_at", "2016-12-30 06:50:37.021286"], ["data", "{}"], ["filename", "cat.png"], ["pending_at", "2016-12-30 06:50:37.019924"], ["state", "pending"], ["updated_at", "2016-12-30 06:50:37.021286"], ["upload_type", "PhotoUpload"], ["user_id", 123], ["uuid", "<36 bytes of binary data>"]]
         | 
| 640 | 
            +
              [1m[36m (0.1ms)[0m  [1mRELEASE SAVEPOINT active_record_1[0m
         | 
| 1485 641 | 
             
            Completed 201 Created in 4ms (Views: 0.2ms | ActiveRecord: 0.6ms)
         | 
| 1486 | 
            -
              [1m[ | 
| 1487 | 
            -
              [1m[35m (0.1ms)[0m  ROLLBACK
         | 
| 1488 | 
            -
              [1m[36m (0.1ms)[0m  [1mBEGIN[0m
         | 
| 1489 | 
            -
            -----------------------------------------------------------------------
         | 
| 1490 | 
            -
            S3Relay::Upload::validations::upload_type: test_0001_validates presence
         | 
| 1491 | 
            -
            -----------------------------------------------------------------------
         | 
| 1492 | 
            -
              [1m[35mS3Relay::Upload Exists (0.2ms)[0m  SELECT  1 AS one FROM "s3_relay_uploads"  WHERE "s3_relay_uploads"."uuid" IS NULL LIMIT 1
         | 
| 642 | 
            +
              [1m[35m (0.2ms)[0m  SELECT COUNT(*) FROM "s3_relay_uploads"
         | 
| 1493 643 | 
             
              [1m[36m (0.1ms)[0m  [1mROLLBACK[0m
         |