NicTool Object Validation
Validation class for objects in NicTool. Analgous to Nictool/../*/Sanity in v2.
> npm test
group
name
β accepts valid
β rejects missing name
β rejects too short
β rejects too long
β rejects invalid character: ~
β rejects invalid character: `
β rejects invalid character: !
β rejects invalid character: $
β rejects invalid character: %
β rejects invalid character: ^
β rejects invalid character: &
β rejects invalid character: *
β rejects invalid character: (
β rejects invalid character: )
β rejects invalid character: +
β rejects invalid character: =
β rejects invalid character: [
β rejects invalid character: ]
β rejects invalid character: \
β rejects invalid character: /
β rejects invalid character: |
β rejects invalid character: ?
β rejects invalid character: >
β rejects invalid character: <
β rejects invalid character: "
β rejects invalid character: :
β rejects invalid character: ;
β rejects invalid character: ,
β rejects invalid character: #
β rejects invalid character: {
β rejects invalid character: }
β rejects invalid character:
β rejects if first character is not alphanumeric: -test
β rejects if first character is not alphanumeric: _test
β rejects if first character is not alphanumeric: 'test
β rejects if first character is not alphanumeric: .test
β rejects if first character is not alphanumeric: @test
nameserver
name
β rejects missing
β accepts valid: good-ns.tld.
β accepts valid: a.b.c.
β accepts valid: host.tld.
β accepts valid: host.name.
β accepts valid: valid-ns.sld.
β accepts valid: wooki.tld.
β rejects invalid: -bad_ns
β rejects invalid: bad.-domain
β rejects invalid: host
β rejects invalid: bad_ns
β rejects invalid: ΓΌber
β rejects invalid: ns..somewhere.com.
β rejects invalid: ns.-something.com.
β rejects invalid: a.b~d.com.
β rejects invalid: a.b`d.com.
β rejects invalid: a.b!d.com.
β rejects invalid: a.b@d.com.
β rejects invalid: a.b$d.com.
β rejects invalid: a.b%d.com.
β rejects invalid: a.b^d.com.
β rejects invalid: a.b&d.com.
β rejects invalid: a.b*d.com.
β rejects invalid: a.b(d.com.
β rejects invalid: a.b)d.com.
β rejects invalid: a.b_d.com.
β rejects invalid: a.b+d.com.
β rejects invalid: a.b=d.com.
β rejects invalid: a.b[d.com.
β rejects invalid: a.b]d.com.
β rejects invalid: a.b\d.com.
β rejects invalid: a.b/d.com.
β rejects invalid: a.b|d.com.
β rejects invalid: a.b?d.com.
β rejects invalid: a.b>d.com.
β rejects invalid: a.b<d.com.
β rejects invalid: a.b"d.com.
β rejects invalid: a.b'd.com.
β rejects invalid: a.b:d.com.
β rejects invalid: a.b;d.com.
β rejects invalid: a.b,d.com.
β rejects invalid: a.b#d.com.
β rejects invalid: a.b{d.com.
β rejects invalid: a.b}d.com.
β rejects invalid: a.b d.com.
β rejects invalid: a.b
d.com.
export_type
β rejects missing
β accepts valid: bind
β accepts valid: djbdns
β accepts valid: knot
β accepts valid: nsd
β accepts valid: maradns
β accepts valid: powerdns
β accepts valid: dynect
β rejects invalid: cryptic
β rejects invalid: fuzzy
β rejects invalid: yitizg
β rejects invalid: bin
β rejects invalid: djbs
β rejects invalid: DJB
β rejects invalid: BIND
β rejects invalid: NT
nt_group_id
β accepts valid
β rejects missing
β accepts valid: 1
β rejects invalid: abc
address
β accepts valid
β rejects missing
β accepts valid: 1.2.3.4
β rejects invalid: 1.x.2.3
β rejects invalid: .1.2.3
β rejects invalid: 1234.1.2.3
β rejects invalid: 256.2.3.4
β rejects invalid: 1.-.2.3
β rejects invalid: 1.2.3
β rejects invalid: 1.2
β rejects invalid: 1
β rejects invalid: 1.2.3.
β rejects invalid: -1.2.3.4
β rejects invalid: 1. .3.4
β rejects invalid: 1.2,3.4
β rejects invalid: 1.,.3.4
ttl
β rejects missing
shared
ttl
β accepts valid
β rejects missing
β accepts valid: 0
β accepts valid: 3600
β accepts valid: 86401
β accepts valid: 2147483647
β rejects invalid: -299
β rejects invalid: -2592001
β rejects invalid: -2
β rejects invalid: -1
β rejects invalid: 2147483648
β rejects invalid: oops
user
username
β accepts valid
β rejects missing
β rejects too short
β rejects too long
β rejects invalid character: ~
β rejects invalid character: `
β rejects invalid character: !
β rejects invalid character: @
β rejects invalid character: $
β rejects invalid character: %
β rejects invalid character: ^
β rejects invalid character: &
β rejects invalid character: *
β rejects invalid character: (
β rejects invalid character: )
β rejects invalid character: +
β rejects invalid character: =
β rejects invalid character: [
β rejects invalid character: ]
β rejects invalid character: \
β rejects invalid character: /
β rejects invalid character: |
β rejects invalid character: ?
β rejects invalid character: >
β rejects invalid character: <
β rejects invalid character: "
β rejects invalid character: '
β rejects invalid character: :
β rejects invalid character: ;
β rejects invalid character: ,
β rejects invalid character: #
β rejects invalid character: {
β rejects invalid character: }
β rejects invalid character:
email
β accepts valid
β rejects missing
β rejects invalid format
password
β accepts a strong password
β rejects missing
β rejects too short password
β rejects most common password strings
zone
zone
β accepts valid
β rejects empty
β rejects invalid: thisis~atest.com.
β rejects invalid: thisis`atest.com.
β rejects invalid: thisis!atest.com.
β rejects invalid: thisis@atest.com.
β rejects invalid: thisis$atest.com.
β rejects invalid: thisis%atest.com.
β rejects invalid: thisis^atest.com.
β rejects invalid: thisis&atest.com.
β rejects invalid: thisis*atest.com.
β rejects invalid: thisis(atest.com.
β rejects invalid: thisis)atest.com.
β rejects invalid: thisis+atest.com.
β rejects invalid: thisis=atest.com.
β rejects invalid: thisis[atest.com.
β rejects invalid: thisis]atest.com.
β rejects invalid: thisis\atest.com.
β rejects invalid: thisis/atest.com.
β rejects invalid: thisis|atest.com.
β rejects invalid: thisis?atest.com.
β rejects invalid: thisis>atest.com.
β rejects invalid: thisis<atest.com.
β rejects invalid: thisis"atest.com.
β rejects invalid: thisis'atest.com.
β rejects invalid: thisis:atest.com.
β rejects invalid: thisis;atest.com.
β rejects invalid: thisis,atest.com.
β rejects invalid: thisis#atest.com.
β rejects invalid: thisis{atest.com.
β rejects invalid: thisis}atest.com.
β rejects invalid: thisis atest.com.
β rejects invalid: thisis
atest.com.
nt_group_id
β accepts valid: 1
β rejects invalid:
β rejects invalid: 0
β rejects invalid: abc
ttl
β rejects missing
zone_record
nt_zone_id
β accepts valid
β rejects missing
β rejects empty
β rejects invalid: abc
β rejects invalid: 0
name
β accepts valid
β rejects missing
β rejects empty
β rejects invalid: a.m.
β rejects invalid: something.test.
type
β rejects missing
β accepts valid: A
β accepts valid: AAAA
β accepts valid: PTR
β rejects invalid:
β rejects invalid: 0
β rejects invalid: abc
ttl
β rejects missing
229 passing (44ms)