333 lines
7.7 KiB
JSON
333 lines
7.7 KiB
JSON
{
|
|
"tests": [
|
|
{
|
|
"description": "User info for single IPv4 host without database",
|
|
"uri": "mongodb://alice:foo@127.0.0.1",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ipv4",
|
|
"host": "127.0.0.1",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "alice",
|
|
"password": "foo",
|
|
"db": null
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "User info for single IPv4 host with database",
|
|
"uri": "mongodb://alice:foo@127.0.0.1/test",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ipv4",
|
|
"host": "127.0.0.1",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "alice",
|
|
"password": "foo",
|
|
"db": "test"
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "User info for single IP literal host without database",
|
|
"uri": "mongodb://bob:bar@[::1]:27018",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ip_literal",
|
|
"host": "::1",
|
|
"port": 27018
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "bob",
|
|
"password": "bar",
|
|
"db": null
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "User info for single IP literal host with database",
|
|
"uri": "mongodb://bob:bar@[::1]:27018/admin",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ip_literal",
|
|
"host": "::1",
|
|
"port": 27018
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "bob",
|
|
"password": "bar",
|
|
"db": "admin"
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "User info for single hostname without database",
|
|
"uri": "mongodb://eve:baz@example.com",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "hostname",
|
|
"host": "example.com",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "eve",
|
|
"password": "baz",
|
|
"db": null
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "User info for single hostname with database",
|
|
"uri": "mongodb://eve:baz@example.com/db2",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "hostname",
|
|
"host": "example.com",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "eve",
|
|
"password": "baz",
|
|
"db": "db2"
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "User info for multiple hosts without database",
|
|
"uri": "mongodb://alice:secret@127.0.0.1,example.com:27018",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ipv4",
|
|
"host": "127.0.0.1",
|
|
"port": null
|
|
},
|
|
{
|
|
"type": "hostname",
|
|
"host": "example.com",
|
|
"port": 27018
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "alice",
|
|
"password": "secret",
|
|
"db": null
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "User info for multiple hosts with database",
|
|
"uri": "mongodb://alice:secret@example.com,[::1]:27019/admin",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "hostname",
|
|
"host": "example.com",
|
|
"port": null
|
|
},
|
|
{
|
|
"type": "ip_literal",
|
|
"host": "::1",
|
|
"port": 27019
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "alice",
|
|
"password": "secret",
|
|
"db": "admin"
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "Username without password",
|
|
"uri": "mongodb://alice@127.0.0.1",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ipv4",
|
|
"host": "127.0.0.1",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "alice",
|
|
"password": null,
|
|
"db": null
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "Username with empty password",
|
|
"uri": "mongodb://alice:@127.0.0.1",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ipv4",
|
|
"host": "127.0.0.1",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "alice",
|
|
"password": "",
|
|
"db": null
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "Escaped username and database without password",
|
|
"uri": "mongodb://%40l%3Ace%2F%3D@example.com/my%3Ddb",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "hostname",
|
|
"host": "example.com",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "@l:ce/=",
|
|
"password": null,
|
|
"db": "my=db"
|
|
},
|
|
"options": null
|
|
},
|
|
{
|
|
"description": "Escaped user info and database (MONGODB-CR)",
|
|
"uri": "mongodb://%24am:f%3Azzb%40z%2Fz%3D@127.0.0.1/admin%3F?authMechanism=MONGODB-CR",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ipv4",
|
|
"host": "127.0.0.1",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "$am",
|
|
"password": "f:zzb@z/z=",
|
|
"db": "admin?"
|
|
},
|
|
"options": {
|
|
"authmechanism": "MONGODB-CR"
|
|
}
|
|
},
|
|
{
|
|
"description": "Subdelimiters in user/pass don't need escaping (MONGODB-CR)",
|
|
"uri": "mongodb://!$&'()*+,;=:!$&'()*+,;=@127.0.0.1/admin?authMechanism=MONGODB-CR",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "ipv4",
|
|
"host": "127.0.0.1",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "!$&'()*+,;=",
|
|
"password": "!$&'()*+,;=",
|
|
"db": "admin"
|
|
},
|
|
"options": {
|
|
"authmechanism": "MONGODB-CR"
|
|
}
|
|
},
|
|
{
|
|
"description": "Escaped username (MONGODB-X509)",
|
|
"uri": "mongodb://CN%3DmyName%2COU%3DmyOrgUnit%2CO%3DmyOrg%2CL%3DmyLocality%2CST%3DmyState%2CC%3DmyCountry@localhost/?authMechanism=MONGODB-X509",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "hostname",
|
|
"host": "localhost",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "CN=myName,OU=myOrgUnit,O=myOrg,L=myLocality,ST=myState,C=myCountry",
|
|
"password": null,
|
|
"db": null
|
|
},
|
|
"options": {
|
|
"authmechanism": "MONGODB-X509"
|
|
}
|
|
},
|
|
{
|
|
"description": "Escaped username (GSSAPI)",
|
|
"uri": "mongodb://user%40EXAMPLE.COM:secret@localhost/?authMechanismProperties=SERVICE_NAME:other,CANONICALIZE_HOST_NAME:true&authMechanism=GSSAPI",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "hostname",
|
|
"host": "localhost",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "user@EXAMPLE.COM",
|
|
"password": "secret",
|
|
"db": null
|
|
},
|
|
"options": {
|
|
"authmechanism": "GSSAPI",
|
|
"authmechanismproperties": {
|
|
"SERVICE_NAME": "other",
|
|
"CANONICALIZE_HOST_NAME": true
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"description": "At-signs in options aren't part of the userinfo",
|
|
"uri": "mongodb://alice:secret@example.com/admin?replicaset=my@replicaset",
|
|
"valid": true,
|
|
"warning": false,
|
|
"hosts": [
|
|
{
|
|
"type": "hostname",
|
|
"host": "example.com",
|
|
"port": null
|
|
}
|
|
],
|
|
"auth": {
|
|
"username": "alice",
|
|
"password": "secret",
|
|
"db": "admin"
|
|
},
|
|
"options": {
|
|
"replicaset": "my@replicaset"
|
|
}
|
|
}
|
|
]
|
|
}
|