Skip to content

Commit 235e550

Browse files
committed
On the way to ecto 3
1 parent 85909e8 commit 235e550

File tree

10 files changed

+367
-185
lines changed

10 files changed

+367
-185
lines changed

integration/hack_out_incompatible_tests.sh

Lines changed: 0 additions & 42 deletions
This file was deleted.

integration/sqlite/all_test.exs

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
1-
# Old Ecto files don't compile cleanly in Elixir 1.4, so we disable warnings first.
2-
case System.version() do
3-
"1.4." <> _ -> Code.compiler_options(warnings_as_errors: false)
4-
_ -> :ok
5-
end
6-
7-
Code.require_file("../../deps/ecto/integration_test/cases/assoc.exs", __DIR__)
8-
Code.require_file("../../deps/ecto/integration_test/cases/interval.exs", __DIR__)
9-
Code.require_file("../../deps/ecto/integration_test/cases/joins.exs", __DIR__)
10-
Code.require_file("../../deps/ecto/integration_test/cases/migrator.exs", __DIR__)
11-
Code.require_file("../../deps/ecto/integration_test/cases/preload.exs", __DIR__)
12-
Code.require_file("../../deps/ecto/integration_test/cases/repo.exs", __DIR__)
13-
Code.require_file("../../deps/ecto/integration_test/cases/type.exs", __DIR__)
14-
Code.require_file("../../deps/ecto/integration_test/sql/migration.exs", __DIR__)
15-
Code.require_file("../../deps/ecto/integration_test/sql/sandbox.exs", __DIR__)
16-
Code.require_file("../../deps/ecto/integration_test/sql/sql.exs", __DIR__)
17-
Code.require_file("../../deps/ecto/integration_test/sql/stream.exs", __DIR__)
18-
Code.require_file("../../deps/ecto/integration_test/sql/subquery.exs", __DIR__)
19-
Code.require_file("../../deps/ecto/integration_test/sql/transaction.exs", __DIR__)
1+
# Code.require_file("../../deps/ecto/integration_test/cases/assoc.exs", __DIR__)
2+
# Code.require_file("../../deps/ecto/integration_test/cases/interval.exs", __DIR__)
3+
# Code.require_file("../../deps/ecto/integration_test/cases/joins.exs", __DIR__)
4+
# Code.require_file("../../deps/ecto/integration_test/cases/preload.exs", __DIR__)
5+
# Code.require_file("../../deps/ecto/integration_test/cases/repo.exs", __DIR__)
6+
# error
7+
# Code.require_file("../../deps/ecto/integration_test/cases/type.exs", __DIR__)
8+
# Code.require_file("../../deps/ecto/integration_test/cases/windows.exs", __DIR__)
9+
# error it shouldnt be tested i guess
10+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/alter.exs", __DIR__)
11+
# # error
12+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/lock.exs", __DIR__)
13+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/logging.exs", __DIR__)
14+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/migration.exs", __DIR__)
15+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/migrator.exs", __DIR__)
16+
# # error
17+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/sandbox.exs", __DIR__)
18+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/sql.exs", __DIR__)
19+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/stream.exs", __DIR__)
20+
# Code.require_file("../../deps/ecto_sql/integration_test/sql/subquery.exs", __DIR__)
21+
# # error
22+
Code.require_file("../../deps/ecto_sql/integration_test/sql/transaction.exs", __DIR__)

integration/sqlite/test_helper.exs

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
Logger.configure(level: :info)
22

3-
ExUnit.start(
3+
ExUnit.configure(
44
exclude: [
55
:array_type,
66
:strict_savepoint,
77
:update_with_join,
88
:delete_with_join,
99
:foreign_key_constraint,
1010
:modify_column,
11+
:modify_column_with_from,
1112
:modify_foreign_key,
1213
:prefix,
1314
:remove_column,
@@ -20,7 +21,7 @@ ExUnit.start(
2021
:modify_foreign_key_on_delete,
2122
:modify_foreign_key_on_update,
2223
:alter_primary_key,
23-
:map_boolean_in_subquery,
24+
:map_boolean_in_expression,
2425
:upsert_all,
2526
:with_conflict_target,
2627
:without_conflict_target,
@@ -30,53 +31,54 @@ ExUnit.start(
3031

3132
# Configure Ecto for support and tests
3233
Application.put_env(:ecto, :primary_key_type, :id)
33-
34-
# Old Ecto files don't compile cleanly in Elixir 1.4, so we disable warnings first.
35-
case System.version() do
36-
"1.4." <> _ -> Code.compiler_options(warnings_as_errors: false)
37-
_ -> :ok
38-
end
39-
40-
pool =
41-
case System.get_env("ECTO_POOL") || "poolboy" do
42-
"poolboy" -> DBConnection.Poolboy
43-
"sojourn_broker" -> DBConnection.Sojourn
44-
end
34+
Application.put_env(:ecto, :async_integration_tests, true)
35+
Application.put_env(:ecto_sql, :lock_for_update, "FOR UPDATE")
4536

4637
# Load support files
47-
Code.require_file("../../deps/ecto/integration_test/support/repo.exs", __DIR__)
48-
Code.require_file("../../deps/ecto/integration_test/support/schemas.exs", __DIR__)
49-
Code.require_file("../../deps/ecto/integration_test/support/migration.exs", __DIR__)
38+
Code.require_file("../../deps/ecto_sql/integration_test/support/repo.exs", __DIR__)
39+
Code.require_file("../../deps/ecto_sql/integration_test/support/file_helpers.exs", __DIR__)
40+
Code.require_file("../../deps/ecto_sql/integration_test/support/migration.exs", __DIR__)
5041

5142
Code.require_file("../../test/support/schemas.exs", __DIR__)
5243
Code.require_file("../../test/support/migration.exs", __DIR__)
5344

5445
# Pool repo for async, safe tests
5546
alias Ecto.Integration.TestRepo
5647

57-
Application.put_env(:ecto, TestRepo,
48+
Application.put_env(:ecto_sql, TestRepo,
5849
adapter: Sqlite.Ecto2,
5950
database: "/tmp/test_repo.db",
60-
pool: Ecto.Adapters.SQL.Sandbox,
61-
ownership_pool: pool
51+
pool: Ecto.Adapters.SQL.Sandbox
6252
)
6353

6454
defmodule Ecto.Integration.TestRepo do
65-
use Ecto.Integration.Repo, otp_app: :ecto
55+
use Ecto.Integration.Repo, otp_app: :ecto_sql, adapter: Sqlite.Ecto2
56+
57+
def create_prefix(prefix) do
58+
"create schema #{prefix}"
59+
end
60+
61+
def drop_prefix(prefix) do
62+
"drop schema #{prefix}"
63+
end
64+
65+
def uuid do
66+
Ecto.UUID
67+
end
6668
end
6769

6870
# Pool repo for non-async tests
6971
alias Ecto.Integration.PoolRepo
7072

71-
Application.put_env(:ecto, PoolRepo,
73+
Application.put_env(:ecto_sql, PoolRepo,
7274
adapter: Sqlite.Ecto2,
73-
pool: DBConnection.Poolboy,
75+
pool: DBConnection.ConnectionPool,
7476
database: "/tmp/test_repo.db",
7577
pool_size: 10
7678
)
7779

7880
defmodule Ecto.Integration.PoolRepo do
79-
use Ecto.Integration.Repo, otp_app: :ecto
81+
use Ecto.Integration.Repo, otp_app: :ecto_sql, adapter: Sqlite.Ecto2
8082

8183
def create_prefix(prefix) do
8284
"create schema #{prefix}"
@@ -95,11 +97,12 @@ defmodule Ecto.Integration.Case do
9597
end
9698
end
9799

98-
{:ok, _} = Sqlite.Ecto2.ensure_all_started(TestRepo, :temporary)
100+
{:ok, _} = Sqlite.Ecto2.ensure_all_started(TestRepo.config(), :temporary)
101+
# TODO: FIX THIS?
99102

100103
# Load support models and migration
101104
Code.require_file("../../deps/ecto/integration_test/support/schemas.exs", __DIR__)
102-
Code.require_file("../../deps/ecto/integration_test/support/migration.exs", __DIR__)
105+
Code.require_file("../../deps/ecto/integration_test/support/types.exs", __DIR__)
103106

104107
# Load up the repository, start it, and run migrations
105108
_ = Sqlite.Ecto2.storage_down(TestRepo.config())
@@ -112,3 +115,5 @@ _ = Sqlite.Ecto2.storage_down(TestRepo.config())
112115
:ok = Ecto.Migrator.up(TestRepo, 1, Sqlite.Ecto2.Test.Migration, log: false)
113116
Ecto.Adapters.SQL.Sandbox.mode(TestRepo, :manual)
114117
Process.flag(:trap_exit, true)
118+
119+
ExUnit.start()

0 commit comments

Comments
 (0)