All SQL related tests should be defined here and the driver specific directory need only have links to the tests defined here.
+
+All User-Name attributes, Acct-Session-Id, and Acct-Multi-Session-Id attributes
+
+ MUST BE UNIQUE FOR EVERY TEST.
+
+Otherwise the tests will stomp on each other when run in parallel.
#
# Input packet
#
-User-Name = 'user@example.org'
+User-Name = 'user0@example.org'
NAS-Port = 17826193
NAS-IP-Address = 192.0.2.10
Framed-IP-Address = 198.51.100.59
#
# Input packet
#
-User-Name = 'user@example.org'
+User-Name = 'user2@example.org'
NAS-Port = 17826193
NAS-IP-Address = 192.0.2.10
Framed-IP-Address = 198.51.100.59
#
# Input packet
#
-User-Name = 'user@example.org'
+User-Name = 'user2@example.org'
NAS-Port = 17826193
NAS-IP-Address = 192.0.2.10
Framed-IP-Address = 198.51.100.59
Acct-Delay-Time = 1
Acct-Input-Octets = 15
Acct-Output-Octets = 15
-Acct-Session-Id = '00000000'
-Acct-Unique-Session-Id = '00000000'
+Acct-Session-Id = '00000002'
+Acct-Unique-Session-Id = '00000002'
Acct-Authentic = RADIUS
Acct-Session-Time = 120
Acct-Input-Packets = 15
}
update {
- Tmp-Integer-0 := "%{sql:SELECT count(*) FROM radacct WHERE AcctSessionId = '00000000'}"
+ Tmp-Integer-0 := "%{sql:SELECT count(*) FROM radacct WHERE AcctSessionId = '00000002'}"
}
if (!&Tmp-Integer-0 || (&Tmp-Integer-0 != 1)) {
test_fail
}
update {
- Tmp-Integer-0 := "%{sql:SELECT acctsessiontime FROM radacct WHERE AcctSessionId = '00000000'}"
+ Tmp-Integer-0 := "%{sql:SELECT acctsessiontime FROM radacct WHERE AcctSessionId = '00000002'}"
}
if (!&Tmp-Integer-0 || (&Tmp-Integer-0 != 120)) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:SELECT AcctTerminateCause FROM radacct WHERE AcctSessionId = '00000000'}"
+ Tmp-String-0 := "%{sql:SELECT AcctTerminateCause FROM radacct WHERE AcctSessionId = '00000002'}"
}
if (!&Tmp-String-0 || (&Tmp-String-0 != 'User-Request')) {
test_fail
#
# Input packet
#
-User-Name = 'user@example.org'
+User-Name = 'user3@example.org'
NAS-Port = 17826193
NAS-IP-Address = 192.0.2.10
Framed-IP-Address = 198.51.100.59
Acct-Delay-Time = 1
Acct-Input-Octets = 0
Acct-Output-Octets = 0
-Acct-Session-Id = '00000001'
-Acct-Unique-Session-Id = '00000001'
+Acct-Session-Id = '00000003'
+Acct-Unique-Session-Id = '00000003'
Acct-Authentic = RADIUS
Acct-Session-Time = 0
Acct-Input-Packets = 0
# Clear out old data
#
update {
- Tmp-String-0 := "%{sql:DELETE FROM radacct WHERE AcctSessionId = '00000001'}"
+ Tmp-String-0 := "%{sql:DELETE FROM radacct WHERE AcctSessionId = '00000003'}"
}
if (!&Tmp-String-0) {
test_fail
# Check the database has at least one row
#
update {
- Tmp-Integer-0 := "%{sql:SELECT count(*) FROM radacct WHERE AcctSessionId = '00000001'}"
+ Tmp-Integer-0 := "%{sql:SELECT count(*) FROM radacct WHERE AcctSessionId = '00000003'}"
}
if (!&Tmp-Integer-0 || (&Tmp-Integer-0 != 1)) {
test_fail
# Check acctsessiontime matches the value in the request
#
update {
- Tmp-Integer-0 := "%{sql:SELECT acctsessiontime FROM radacct WHERE AcctSessionId = '00000001'}"
+ Tmp-Integer-0 := "%{sql:SELECT acctsessiontime FROM radacct WHERE AcctSessionId = '00000003'}"
}
if (!&Tmp-Integer-0 || (&Tmp-Integer-0 != 0)) {
test_fail
test_fail
}
update {
- Tmp-String-0 := "%{sql:SELECT connectinfo_start FROM radacct WHERE AcctSessionId = '00000001'}"
+ Tmp-String-0 := "%{sql:SELECT connectinfo_start FROM radacct WHERE AcctSessionId = '00000003'}"
}
if (!&Tmp-Integer-0 || (&Tmp-String-0 != 'updated')) {
test_fail
#
# Input packet
#
-User-Name = 'user@example.org'
+User-Name = 'user4@example.org'
NAS-Port = 17826193
NAS-IP-Address = 192.0.2.10
Framed-IP-Address = 198.51.100.59
Acct-Delay-Time = 1
Acct-Input-Octets = 10
Acct-Output-Octets = 10
-Acct-Session-Id = '00000002'
-Acct-Unique-Session-Id = '00000002'
+Acct-Session-Id = '00000004'
+Acct-Unique-Session-Id = '00000004'
Acct-Authentic = RADIUS
Acct-Session-Time = 30
Acct-Input-Packets = 10
# Clear out old data
#
update {
- Tmp-String-0 := "%{sql:DELETE FROM radacct WHERE AcctSessionId = '00000002'}"
+ Tmp-String-0 := "%{sql:DELETE FROM radacct WHERE AcctSessionId = '00000004'}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-Integer-0 := "%{sql:SELECT count(*) FROM radacct WHERE AcctSessionId = '00000002'}"
+ Tmp-Integer-0 := "%{sql:SELECT count(*) FROM radacct WHERE AcctSessionId = '00000004'}"
}
if (!&Tmp-Integer-0 || (&Tmp-Integer-0 != 1)) {
test_fail
}
update {
- Tmp-Integer-0 := "%{sql:SELECT acctsessiontime FROM radacct WHERE AcctSessionId = '00000002'}"
+ Tmp-Integer-0 := "%{sql:SELECT acctsessiontime FROM radacct WHERE AcctSessionId = '00000004'}"
}
if (!&Tmp-Integer-0 || (&Tmp-Integer-0 != 30)) {
test_fail
#
# Input packet
#
-User-Name = "foo"
+User-Name = "user_auth"
User-Password = "password"
NAS-IP-Address = "1.2.3.4"
# Clear out old data
#
update {
- Tmp-String-0 := "%{sql:DELETE FROM radcheck WHERE username = 'foo'}"
+ Tmp-String-0 := "%{sql:DELETE FROM radcheck WHERE username = 'user_auth'}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('foo', 'NAS-IP-Address', '==', '1.2.3.4')}"
+ Tmp-String-0 := "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('user_auth', 'NAS-IP-Address', '==', '1.2.3.4')}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('foo', 'Cleartext-Password', ':=', 'password')}"
+ Tmp-String-0 := "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('user_auth', 'Cleartext-Password', ':=', 'password')}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:DELETE FROM radreply WHERE username = 'foo'}"
+ Tmp-String-0 := "%{sql:DELETE FROM radreply WHERE username = 'user_auth'}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:INSERT INTO radreply (username, attribute, op, value) VALUES ('foo', 'Idle-Timeout', ':=', '3600')}"
+ Tmp-String-0 := "%{sql:INSERT INTO radreply (username, attribute, op, value) VALUES ('user_auth', 'Idle-Timeout', ':=', '3600')}"
}
if (!&Tmp-String-0) {
test_fail
#
# Input packet
#
-User-Name = "foo"
+User-Name = "user_reject"
User-Password = "password"
NAS-IP-Address = "1.2.3.4"
# Clear out old data
#
update {
- Tmp-String-0 := "%{sql:DELETE FROM radcheck WHERE username = 'foo'}"
+ Tmp-String-0 := "%{sql:DELETE FROM radcheck WHERE username = 'user_reject'}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('foo', 'NAS-IP-Address', '==', '1.2.3.4')}"
+ Tmp-String-0 := "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('user_reject', 'NAS-IP-Address', '==', '1.2.3.4')}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('foo', 'Cleartext-Password', ':=', 'wrong-password')}"
+ Tmp-String-0 := "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('user_reject', 'Cleartext-Password', ':=', 'wrong-password')}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:DELETE FROM radreply WHERE username = 'foo'}"
+ Tmp-String-0 := "%{sql:DELETE FROM radreply WHERE username = 'user_reject'}"
}
if (!&Tmp-String-0) {
test_fail
}
update {
- Tmp-String-0 := "%{sql:INSERT INTO radreply (username, attribute, op, value) VALUES ('foo', 'Reply-Message', ':=', 'Authentication failed')}"
+ Tmp-String-0 := "%{sql:INSERT INTO radreply (username, attribute, op, value) VALUES ('user_reject', 'Reply-Message', ':=', 'Authentication failed')}"
}
if (!&Tmp-String-0) {
test_fail