add tests for sql ip address columns to ensure ipv6 capabiltiy (#5062)
This commit is contained in:
6 files changed
+295
No files matched your search
@@ -37,6 +37,7 @@ TESTS ?= tests/setup/*.sql \
|
||||
tests/purge/*.sql \
|
||||
tests/pagination/*.sql \
|
||||
tests/policy/*.sql \
|
||||
tests/host/*.sql \
|
||||
tests/server/*.sql
|
||||
|
||||
POSTGRES_DOCKER_IMAGE_BASE ?= postgres
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
-- Copyright (c) HashiCorp, Inc.
|
||||
-- SPDX-License-Identifier: BUSL-1.1
|
||||
|
||||
begin;
|
||||
|
||||
select plan(4); -- the number of `is` calls
|
||||
|
||||
-- short form ipv6
|
||||
|
||||
insert into static_host_hst
|
||||
( catalog_id, public_id, address)
|
||||
values
|
||||
('hc__st_____b', 'h___st____bx', '2001:4860:4860::8888');
|
||||
|
||||
select is(count(*), 1::bigint) from static_host_hst
|
||||
where address = '2001:4860:4860::8888';
|
||||
|
||||
update static_host_hst
|
||||
set address = '2001:4860:4860::8844'
|
||||
where public_id = 'h___st____bx';
|
||||
|
||||
select is(count(*), 1::bigint) from static_host_hst
|
||||
where address = '2001:4860:4860::8844';
|
||||
|
||||
-- explicit form ipv6
|
||||
|
||||
insert into static_host_hst
|
||||
( catalog_id, public_id, address)
|
||||
values
|
||||
('hc__st_____b', 'h___st____by', '2001:4860:4860:0:0:0:0:8888');
|
||||
|
||||
select is(count(*), 1::bigint) from static_host_hst
|
||||
where address = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
update static_host_hst
|
||||
set address = '2001:4860:4860:0:0:0:0:8844'
|
||||
where public_id = 'h___st____by';
|
||||
|
||||
select is(count(*), 1::bigint) from static_host_hst
|
||||
where address = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
rollback;
|
||||
@@ -0,0 +1,42 @@
|
||||
-- Copyright (c) HashiCorp, Inc.
|
||||
-- SPDX-License-Identifier: BUSL-1.1
|
||||
|
||||
begin;
|
||||
|
||||
select plan(4); -- the number of `is` calls
|
||||
|
||||
-- short form ipv6
|
||||
|
||||
insert into static_host
|
||||
( catalog_id, public_id, address)
|
||||
values
|
||||
('hc__st_____b', 'h___st____bx', '2001:4860:4860::8888');
|
||||
|
||||
select is(count(*), 1::bigint) from static_host
|
||||
where address = '2001:4860:4860::8888';
|
||||
|
||||
update static_host
|
||||
set address = '2001:4860:4860::8844'
|
||||
where public_id = 'h___st____bx';
|
||||
|
||||
select is(count(*), 1::bigint) from static_host
|
||||
where address = '2001:4860:4860::8844';
|
||||
|
||||
-- explicit form ipv6
|
||||
|
||||
insert into static_host
|
||||
( catalog_id, public_id, address)
|
||||
values
|
||||
('hc__st_____b', 'h___st____by', '2001:4860:4860:0:0:0:0:8888');
|
||||
|
||||
select is(count(*), 1::bigint) from static_host
|
||||
where address = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
update static_host
|
||||
set address = '2001:4860:4860:0:0:0:0:8844'
|
||||
where public_id = 'h___st____by';
|
||||
|
||||
select is(count(*), 1::bigint) from static_host
|
||||
where address = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
rollback;
|
||||
@@ -0,0 +1,76 @@
|
||||
-- Copyright (c) HashiCorp, Inc.
|
||||
-- SPDX-License-Identifier: BUSL-1.1
|
||||
|
||||
begin;
|
||||
|
||||
select plan(8); -- the number of `is` calls
|
||||
|
||||
-- short form ipv6
|
||||
|
||||
insert into server_controller
|
||||
( private_id, address)
|
||||
values
|
||||
('test-controller-1', '2001:4860:4860::8888');
|
||||
|
||||
select is(count(*), 1::bigint) from server_controller
|
||||
where address = '2001:4860:4860::8888';
|
||||
|
||||
update server_controller
|
||||
set address = '2001:4860:4860::8844'
|
||||
where private_id = 'test-controller-1';
|
||||
|
||||
select is(count(*), 1::bigint) from server_controller
|
||||
where address = '2001:4860:4860::8844';
|
||||
|
||||
-- worker
|
||||
|
||||
insert into server_worker
|
||||
( public_id, scope_id, type, last_status_time, address)
|
||||
values
|
||||
('w_________1', 'global', 'pki', now(), '2001:4860:4860::8888');
|
||||
|
||||
select is(count(*), 1::bigint) from server_worker
|
||||
where address = '2001:4860:4860::8888';
|
||||
|
||||
update server_worker
|
||||
set address = '2001:4860:4860::8844'
|
||||
where public_id = 'w_________1';
|
||||
|
||||
select is(count(*), 1::bigint) from server_worker
|
||||
where address = '2001:4860:4860::8844';
|
||||
|
||||
-- explicit form ipv6
|
||||
|
||||
insert into server_controller
|
||||
( private_id, address)
|
||||
values
|
||||
('test-controller-2', '2001:4860:4860:0:0:0:0:8888');
|
||||
|
||||
select is(count(*), 1::bigint) from server_controller
|
||||
where address = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
update server_controller
|
||||
set address = '2001:4860:4860:0:0:0:0:8844'
|
||||
where private_id = 'test-controller-2';
|
||||
|
||||
select is(count(*), 1::bigint) from server_controller
|
||||
where address = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
-- worker
|
||||
|
||||
insert into server_worker
|
||||
( public_id, scope_id, type, last_status_time, address)
|
||||
values
|
||||
('w_________2', 'global', 'pki', now(), '2001:4860:4860:0:0:0:0:8888');
|
||||
|
||||
select is(count(*), 1::bigint) from server_worker
|
||||
where address = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
update server_worker
|
||||
set address = '2001:4860:4860:0:0:0:0:8844'
|
||||
where public_id = 'w_________2';
|
||||
|
||||
select is(count(*), 1::bigint) from server_worker
|
||||
where address = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
rollback;
|
||||
@@ -0,0 +1,73 @@
|
||||
-- Copyright (c) HashiCorp, Inc.
|
||||
-- SPDX-License-Identifier: BUSL-1.1
|
||||
|
||||
begin;
|
||||
|
||||
select plan(12); -- the number of `is` calls
|
||||
|
||||
-- short form ipv6
|
||||
|
||||
insert into session_connection
|
||||
( public_id, session_id, client_tcp_address, endpoint_tcp_address, user_client_ip)
|
||||
values
|
||||
('sc_________1', 's1_____clare', '2001:4860:4860::8888', '2001:4860:4860::8888', '2001:4860:4860::8888');
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where client_tcp_address = '2001:4860:4860::8888';
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where endpoint_tcp_address = '2001:4860:4860::8888';
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where user_client_ip = '2001:4860:4860::8888';
|
||||
|
||||
update session_connection
|
||||
set client_tcp_address = '2001:4860:4860::8844',
|
||||
endpoint_tcp_address = '2001:4860:4860::8844',
|
||||
user_client_ip = '2001:4860:4860::8844'
|
||||
where public_id = 'sc_________1';
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where client_tcp_address = '2001:4860:4860::8844';
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where endpoint_tcp_address = '2001:4860:4860::8844';
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where user_client_ip = '2001:4860:4860::8844';
|
||||
|
||||
-- explicit form ipv6
|
||||
|
||||
insert into session_connection
|
||||
( public_id, session_id, client_tcp_address, endpoint_tcp_address, user_client_ip)
|
||||
values
|
||||
('sc_________2', 's2_____clare', '2001:4860:4860:0:0:0:0:8888', '2001:4860:4860:0:0:0:0:8888', '2001:4860:4860:0:0:0:0:8888');
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where client_tcp_address = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where endpoint_tcp_address = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
select is(count(*), 1::bigint) from session_connection
|
||||
where user_client_ip = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
update session_connection
|
||||
set client_tcp_address = '2001:4860:4860:0:0:0:0:8844',
|
||||
endpoint_tcp_address = '2001:4860:4860:0:0:0:0:8844',
|
||||
user_client_ip = '2001:4860:4860:0:0:0:0:8844'
|
||||
where public_id = 'sc_________2';
|
||||
|
||||
-- since the col type is inet, postgres actually knows that 2001:4860:4860:0:0:0:0:8844 is
|
||||
-- equivalent to 2001:4860:4860::8844 from above, meaning these selects return 2 results
|
||||
|
||||
select is(count(*), 2::bigint) from session_connection
|
||||
where client_tcp_address = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
select is(count(*), 2::bigint) from session_connection
|
||||
where endpoint_tcp_address = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
select is(count(*), 2::bigint) from session_connection
|
||||
where user_client_ip = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
rollback;
|
||||
@@ -0,0 +1,61 @@
|
||||
-- Copyright (c) HashiCorp, Inc.
|
||||
-- SPDX-License-Identifier: BUSL-1.1
|
||||
|
||||
begin;
|
||||
|
||||
select plan(8); -- the number of `is` calls
|
||||
|
||||
-- short form ipv6
|
||||
|
||||
insert into session_connection
|
||||
( public_id, session_id, client_tcp_address, endpoint_tcp_address, user_client_ip)
|
||||
values
|
||||
('sc_________1', 's1_____clare', '2001:4860:4860::8888', '2001:4860:4860::8888', '2001:4860:4860::8888');
|
||||
|
||||
select is(count(*), 1::bigint) from wh_session_connection_accumulating_fact
|
||||
where client_tcp_address = '2001:4860:4860::8888';
|
||||
|
||||
select is(count(*), 1::bigint) from wh_session_connection_accumulating_fact
|
||||
where endpoint_tcp_address = '2001:4860:4860::8888';
|
||||
|
||||
update session_connection
|
||||
set client_tcp_address = '2001:4860:4860::8844',
|
||||
endpoint_tcp_address = '2001:4860:4860::8844',
|
||||
user_client_ip = '2001:4860:4860::8844'
|
||||
where public_id = 'sc_________1';
|
||||
|
||||
select is(count(*), 1::bigint) from wh_session_connection_accumulating_fact
|
||||
where client_tcp_address = '2001:4860:4860::8844';
|
||||
|
||||
select is(count(*), 1::bigint) from wh_session_connection_accumulating_fact
|
||||
where endpoint_tcp_address = '2001:4860:4860::8844';
|
||||
|
||||
-- explicit form ipv6
|
||||
|
||||
insert into session_connection
|
||||
( public_id, session_id, client_tcp_address, endpoint_tcp_address, user_client_ip)
|
||||
values
|
||||
('sc_________2', 's2_____clare', '2001:4860:4860:0:0:0:0:8888', '2001:4860:4860:0:0:0:0:8888', '2001:4860:4860:0:0:0:0:8888');
|
||||
|
||||
select is(count(*), 1::bigint) from wh_session_connection_accumulating_fact
|
||||
where client_tcp_address = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
select is(count(*), 1::bigint) from wh_session_connection_accumulating_fact
|
||||
where endpoint_tcp_address = '2001:4860:4860:0:0:0:0:8888';
|
||||
|
||||
update session_connection
|
||||
set client_tcp_address = '2001:4860:4860:0:0:0:0:8844',
|
||||
endpoint_tcp_address = '2001:4860:4860:0:0:0:0:8844',
|
||||
user_client_ip = '2001:4860:4860:0:0:0:0:8844'
|
||||
where public_id = 'sc_________2';
|
||||
|
||||
-- since the col type is inet, postgres actually knows that 2001:4860:4860:0:0:0:0:8844 is
|
||||
-- equivalent to 2001:4860:4860::8844 from above, meaning these selects return 2 results
|
||||
|
||||
select is(count(*), 2::bigint) from wh_session_connection_accumulating_fact
|
||||
where client_tcp_address = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
select is(count(*), 2::bigint) from wh_session_connection_accumulating_fact
|
||||
where endpoint_tcp_address = '2001:4860:4860:0:0:0:0:8844';
|
||||
|
||||
rollback;
|
||||
Reference in new issue
Block a user