bson/testdata/connection-string/valid-auth.json
2025-03-17 20:58:26 +01:00

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"
}
}
]
}