removing integration tests
This commit is contained in:
parent
058c9b01ac
commit
931111fd55
4 changed files with 0 additions and 460 deletions
|
|
@ -435,307 +435,6 @@ defmodule Pleroma.Pool.ConnectionsTest do
|
|||
} = Connections.get_state(name)
|
||||
end
|
||||
|
||||
describe "integration test" do
|
||||
@describetag :integration
|
||||
|
||||
clear_config(Pleroma.Gun) do
|
||||
Pleroma.Config.put(Pleroma.Gun, Pleroma.Gun.API)
|
||||
end
|
||||
|
||||
test "opens connection and change owner", %{name: name} do
|
||||
url = "https://httpbin.org"
|
||||
:ok = Conn.open(url, name)
|
||||
conn = Connections.checkin(url, name)
|
||||
|
||||
pid = Process.whereis(name)
|
||||
|
||||
assert :gun.info(conn).owner == pid
|
||||
end
|
||||
|
||||
test "opens connection and reuse it on next request", %{name: name} do
|
||||
url = "http://httpbin.org"
|
||||
:ok = Conn.open(url, name)
|
||||
Process.sleep(250)
|
||||
conn = Connections.checkin(url, name)
|
||||
|
||||
assert is_pid(conn)
|
||||
assert Process.alive?(conn)
|
||||
|
||||
reused_conn = Connections.checkin(url, name)
|
||||
|
||||
assert conn == reused_conn
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"http:httpbin.org:80" => %Conn{
|
||||
conn: ^conn,
|
||||
gun_state: :up
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
end
|
||||
|
||||
test "opens ssl connection and reuse it on next request", %{name: name} do
|
||||
url = "https://httpbin.org"
|
||||
:ok = Conn.open(url, name)
|
||||
Process.sleep(1_000)
|
||||
conn = Connections.checkin(url, name)
|
||||
|
||||
assert is_pid(conn)
|
||||
assert Process.alive?(conn)
|
||||
|
||||
reused_conn = Connections.checkin(url, name)
|
||||
|
||||
assert conn == reused_conn
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: ^conn,
|
||||
gun_state: :up
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
end
|
||||
|
||||
test "remove frequently used and idle", %{name: name} do
|
||||
self = self()
|
||||
https1 = "https://www.google.com"
|
||||
https2 = "https://httpbin.org"
|
||||
|
||||
:ok = Conn.open(https1, name)
|
||||
:ok = Conn.open(https2, name)
|
||||
Process.sleep(1_500)
|
||||
conn = Connections.checkin(https1, name)
|
||||
|
||||
for _ <- 1..4 do
|
||||
Connections.checkin(https2, name)
|
||||
end
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: _,
|
||||
gun_state: :up
|
||||
},
|
||||
"https:www.google.com:443" => %Conn{
|
||||
conn: _,
|
||||
gun_state: :up
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
|
||||
:ok = Connections.checkout(conn, self, name)
|
||||
http = "http://httpbin.org"
|
||||
Process.sleep(1_000)
|
||||
:ok = Conn.open(http, name)
|
||||
conn = Connections.checkin(http, name)
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"http:httpbin.org:80" => %Conn{
|
||||
conn: ^conn,
|
||||
gun_state: :up
|
||||
},
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: _,
|
||||
gun_state: :up
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
end
|
||||
|
||||
test "remove earlier used and idle", %{name: name} do
|
||||
self = self()
|
||||
|
||||
https1 = "https://www.google.com"
|
||||
https2 = "https://httpbin.org"
|
||||
:ok = Conn.open(https1, name)
|
||||
:ok = Conn.open(https2, name)
|
||||
Process.sleep(1_500)
|
||||
|
||||
Connections.checkin(https1, name)
|
||||
conn = Connections.checkin(https1, name)
|
||||
|
||||
Process.sleep(1_000)
|
||||
Connections.checkin(https2, name)
|
||||
Connections.checkin(https2, name)
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: _,
|
||||
gun_state: :up
|
||||
},
|
||||
"https:www.google.com:443" => %Conn{
|
||||
conn: ^conn,
|
||||
gun_state: :up
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
|
||||
:ok = Connections.checkout(conn, self, name)
|
||||
:ok = Connections.checkout(conn, self, name)
|
||||
|
||||
http = "http://httpbin.org"
|
||||
:ok = Conn.open(http, name)
|
||||
Process.sleep(1_000)
|
||||
|
||||
conn = Connections.checkin(http, name)
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"http:httpbin.org:80" => %Conn{
|
||||
conn: ^conn,
|
||||
gun_state: :up
|
||||
},
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: _,
|
||||
gun_state: :up
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
end
|
||||
|
||||
test "doesn't open new conn on pool overflow", %{name: name} do
|
||||
self = self()
|
||||
|
||||
https1 = "https://www.google.com"
|
||||
https2 = "https://httpbin.org"
|
||||
:ok = Conn.open(https1, name)
|
||||
:ok = Conn.open(https2, name)
|
||||
Process.sleep(1_000)
|
||||
Connections.checkin(https1, name)
|
||||
conn1 = Connections.checkin(https1, name)
|
||||
conn2 = Connections.checkin(https2, name)
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: ^conn2,
|
||||
gun_state: :up,
|
||||
conn_state: :active,
|
||||
used_by: [{^self, _}]
|
||||
},
|
||||
"https:www.google.com:443" => %Conn{
|
||||
conn: ^conn1,
|
||||
gun_state: :up,
|
||||
conn_state: :active,
|
||||
used_by: [{^self, _}, {^self, _}]
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
|
||||
refute Connections.checkin("http://httpbin.org", name)
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: ^conn2,
|
||||
gun_state: :up,
|
||||
conn_state: :active,
|
||||
used_by: [{^self, _}]
|
||||
},
|
||||
"https:www.google.com:443" => %Conn{
|
||||
conn: ^conn1,
|
||||
gun_state: :up,
|
||||
conn_state: :active,
|
||||
used_by: [{^self, _}, {^self, _}]
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
end
|
||||
|
||||
test "get idle connection with the smallest crf", %{
|
||||
name: name
|
||||
} do
|
||||
self = self()
|
||||
|
||||
https1 = "https://www.google.com"
|
||||
https2 = "https://httpbin.org"
|
||||
|
||||
:ok = Conn.open(https1, name)
|
||||
:ok = Conn.open(https2, name)
|
||||
Process.sleep(1_500)
|
||||
Connections.checkin(https1, name)
|
||||
Connections.checkin(https2, name)
|
||||
Connections.checkin(https1, name)
|
||||
conn1 = Connections.checkin(https1, name)
|
||||
conn2 = Connections.checkin(https2, name)
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: ^conn2,
|
||||
gun_state: :up,
|
||||
conn_state: :active,
|
||||
used_by: [{^self, _}, {^self, _}],
|
||||
crf: crf2
|
||||
},
|
||||
"https:www.google.com:443" => %Conn{
|
||||
conn: ^conn1,
|
||||
gun_state: :up,
|
||||
conn_state: :active,
|
||||
used_by: [{^self, _}, {^self, _}, {^self, _}],
|
||||
crf: crf1
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
|
||||
assert crf1 > crf2
|
||||
|
||||
:ok = Connections.checkout(conn1, self, name)
|
||||
:ok = Connections.checkout(conn1, self, name)
|
||||
:ok = Connections.checkout(conn1, self, name)
|
||||
|
||||
:ok = Connections.checkout(conn2, self, name)
|
||||
:ok = Connections.checkout(conn2, self, name)
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"https:httpbin.org:443" => %Conn{
|
||||
conn: ^conn2,
|
||||
gun_state: :up,
|
||||
conn_state: :idle,
|
||||
used_by: []
|
||||
},
|
||||
"https:www.google.com:443" => %Conn{
|
||||
conn: ^conn1,
|
||||
gun_state: :up,
|
||||
conn_state: :idle,
|
||||
used_by: []
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
|
||||
http = "http://httpbin.org"
|
||||
:ok = Conn.open(http, name)
|
||||
Process.sleep(1_000)
|
||||
conn = Connections.checkin(http, name)
|
||||
|
||||
%Connections{
|
||||
conns: %{
|
||||
"https:www.google.com:443" => %Conn{
|
||||
conn: ^conn1,
|
||||
gun_state: :up,
|
||||
conn_state: :idle,
|
||||
used_by: [],
|
||||
crf: crf1
|
||||
},
|
||||
"http:httpbin.org:80" => %Conn{
|
||||
conn: ^conn,
|
||||
gun_state: :up,
|
||||
conn_state: :active,
|
||||
used_by: [{^self, _}],
|
||||
crf: crf
|
||||
}
|
||||
}
|
||||
} = Connections.get_state(name)
|
||||
|
||||
assert crf1 > crf
|
||||
end
|
||||
end
|
||||
|
||||
describe "with proxy" do
|
||||
test "as ip", %{name: name} do
|
||||
url = "http://proxy-string.com"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue