⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 samba3sam.js

📁 samba最新软件
💻 JS
📖 第 1 页 / 共 3 页
字号:
	ok = ldb.modify(ldif);	assert(ok.error == 0);	/* Check in local db */	res = ldb.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].foo == "baz");	assert(res.msgs[0].revision == "1");	assert(res.msgs[0].description == "foo");	/* Rename local record */	dn2 = "cn=toast,dc=idealx,dc=org";	ok = ldb.rename(dn, dn2);	assert(ok.error == 0);	/* Check in local db */	res = ldb.search("", dn2, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn2);	assert(res.msgs[0].foo == "baz");	assert(res.msgs[0].revision == "1");	assert(res.msgs[0].description == "foo");	/* Delete local record */	ok = ldb.del(dn2);	assert(ok.error == 0);	/* Check it's gone */	res = ldb.search("", dn2, ldb.SCOPE_BASE);	assert(res.error == 0);	assert(res.msgs.length == 0);	println("Testing modification of remote records");	/* Add remote record */	dn = s4.dn("cn=test");	dn2 = s3.dn("cn=test");	ldif = "dn: " + dn2 + "cn: testdescription: foosambaBadPasswordCount: 3sambaNextRid: 1001";	ok = s3.db.add(ldif);	assert(ok.error == 0);	/* Check it's there */	attrs = new Array("description", "sambaBadPasswordCount", "sambaNextRid");	res = s3.db.search("", dn2, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn2);	assert(res.msgs[0].description == "foo");	assert(res.msgs[0].sambaBadPasswordCount == "3");	assert(res.msgs[0].sambaNextRid == "1001");	/* Check in mapped db */	attrs = new Array("description", "badPwdCount", "nextRid");	res = ldb.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == "foo");	assert(res.msgs[0].badPwdCount == "3");	assert(res.msgs[0].nextRid == "1001");	/* Check in local db */	res = s4.db.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 0);	/* Modify remote data of remote record */	ldif = "dn: " + dn + "replace: descriptiondescription: testreplace: badPwdCountbadPwdCount: 4";	ok = ldb.modify(ldif);	/* Check in mapped db */	attrs = new Array("description", "badPwdCount", "nextRid");	res = ldb.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].badPwdCount == "4");	assert(res.msgs[0].nextRid == "1001");	/* Check in remote db */	attrs = new Array("description", "sambaBadPasswordCount", "sambaNextRid");	res = s3.db.search("", dn2, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn2);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].sambaBadPasswordCount == "4");	assert(res.msgs[0].sambaNextRid == "1001");	/* Rename remote record */	dn2 = s4.dn("cn=toast");	ok = ldb.rename(dn, dn2);	assert(ok.error == 0);	/* Check in mapped db */	dn = dn2;	attrs = new Array("description", "badPwdCount", "nextRid");	res = ldb.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].badPwdCount == "4");	assert(res.msgs[0].nextRid == "1001");	/* Check in remote db */	dn2 = s3.dn("cn=toast");	attrs = new Array("description", "sambaBadPasswordCount", "sambaNextRid");	res = s3.db.search("", dn2, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn2);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].sambaBadPasswordCount == "4");	assert(res.msgs[0].sambaNextRid == "1001");	/* Delete remote record */	ok = ldb.del(dn);	assert(ok.error == 0);	/* Check in mapped db */	res = ldb.search("", dn, ldb.SCOPE_BASE);	assert(res.error == 0);	assert(res.msgs.length == 0);	/* Check in remote db */	res = s3.db.search("", dn2, ldb.SCOPE_BASE);	assert(res.error == 0);	assert(res.msgs.length == 0);	/* Add remote record (same as before) */	dn = s4.dn("cn=test");	dn2 = s3.dn("cn=test");	ldif = "dn: " + dn2 + "cn: testdescription: foosambaBadPasswordCount: 3sambaNextRid: 1001";	ok = s3.db.add(ldif);	assert(ok.error == 0);	/* Modify local data of remote record */	ldif = "dn: " + dn + "add: revisionrevision: 1replace: descriptiondescription: test";	ok = ldb.modify(ldif);	/* Check in mapped db */	attrs = new Array("revision", "description");	res = ldb.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].revision == "1");	/* Check in remote db */	res = s3.db.search("", dn2, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn2);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].revision == undefined);	/* Check in local db */	res = s4.db.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == undefined);	assert(res.msgs[0].revision == "1");	/* Delete (newly) split record */	ok = ldb.del(dn);	assert(ok.error == 0);	println("Testing modification of split records");	/* Add split record */	dn = s4.dn("cn=test");	dn2 = s3.dn("cn=test");	ldif = "dn: " + dn + "cn: testdescription: foobadPwdCount: 3nextRid: 1001revision: 1";	ok = ldb.add(ldif);	assert(ok.error == 0);	/* Check it's there */	attrs = new Array("description", "badPwdCount", "nextRid", "revision");	res = ldb.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == "foo");	assert(res.msgs[0].badPwdCount == "3");	assert(res.msgs[0].nextRid == "1001");	assert(res.msgs[0].revision == "1");	/* Check in local db */	res = s4.db.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == undefined);	assert(res.msgs[0].badPwdCount == undefined);	assert(res.msgs[0].nextRid == undefined);	assert(res.msgs[0].revision == "1");	/* Check in remote db */	attrs = new Array("description", "sambaBadPasswordCount", "sambaNextRid", "revision");	res = s3.db.search("", dn2, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn2);	assert(res.msgs[0].description == "foo");	assert(res.msgs[0].sambaBadPasswordCount == "3");	assert(res.msgs[0].sambaNextRid == "1001");	assert(res.msgs[0].revision == undefined);	/* Modify of split record */	ldif = "dn: " + dn + "replace: descriptiondescription: testreplace: badPwdCountbadPwdCount: 4replace: revisionrevision: 2";	ok = ldb.modify(ldif);	assert(ok.error == 0);	/* Check in mapped db */	attrs = new Array("description", "badPwdCount", "nextRid", "revision");	res = ldb.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].badPwdCount == "4");	assert(res.msgs[0].nextRid == "1001");	assert(res.msgs[0].revision == "2");	/* Check in local db */	res = s4.db.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == undefined);	assert(res.msgs[0].badPwdCount == undefined);	assert(res.msgs[0].nextRid == undefined);	assert(res.msgs[0].revision == "2");	/* Check in remote db */	attrs = new Array("description", "sambaBadPasswordCount", "sambaNextRid", "revision");	res = s3.db.search("", dn2, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn2);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].sambaBadPasswordCount == "4");	assert(res.msgs[0].sambaNextRid == "1001");	assert(res.msgs[0].revision == undefined);	/* Rename split record */	dn2 = s4.dn("cn=toast");	ok = ldb.rename(dn, dn2);	assert(ok.error == 0);	/* Check in mapped db */	dn = dn2;	attrs = new Array("description", "badPwdCount", "nextRid", "revision");	res = ldb.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].badPwdCount == "4");	assert(res.msgs[0].nextRid == "1001");	assert(res.msgs[0].revision == "2");	/* Check in local db */	res = s4.db.search("", dn, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn);	assert(res.msgs[0].description == undefined);	assert(res.msgs[0].badPwdCount == undefined);	assert(res.msgs[0].nextRid == undefined);	assert(res.msgs[0].revision == "2");	/* Check in remote db */	dn2 = s3.dn("cn=toast");	attrs = new Array("description", "sambaBadPasswordCount", "sambaNextRid", "revision");	res = s3.db.search("", dn2, ldb.SCOPE_BASE, attrs);	assert(res.error == 0);	assert(res.msgs.length == 1);	assert(res.msgs[0].dn == dn2);	assert(res.msgs[0].description == "test");	assert(res.msgs[0].sambaBadPasswordCount == "4");	assert(res.msgs[0].sambaNextRid == "1001");	assert(res.msgs[0].revision == undefined);	/* Delete split record */	ok = ldb.del(dn);	assert(ok.error == 0);	/* Check in mapped db */	res = ldb.search("", dn, ldb.SCOPE_BASE);	assert(res.error == 0);	assert(res.msgs.length == 0);	/* Check in local db */	res = s4.db.search("", dn, ldb.SCOPE_BASE);	assert(res.error == 0);	assert(res.msgs.length == 0);	/* Check in remote db */	res = s3.db.search("", dn2, ldb.SCOPE_BASE);	assert(res.error == 0);	assert(res.msgs.length == 0);}function make_dn(rdn){	return rdn + ",sambaDomainName=TESTS," + this.BASEDN;}function make_s4dn(rdn){	return rdn + "," + this.BASEDN;}var ldb = ldb_init();sys = sys_init();var ldbfile = prefix + "/" + "test.ldb";var ldburl = "tdb://" + ldbfile;var samba4 = new Object("samba4 partition info");samba4.file = prefix + "/" + "samba4.ldb";samba4.url = "tdb://" + samba4.file;samba4.BASEDN = "dc=vernstok,dc=nl";samba4.db = ldb_init();samba4.dn = make_s4dn;var samba3 = new Object("samba3 partition info");samba3.file = prefix + "/" + "samba3.ldb";samba3.url = "tdb://" + samba3.file;samba3.BASEDN = "cn=Samba3Sam";samba3.db = ldb_init();samba3.dn = make_dn;var templates = new Object("templates partition info");templates.file = prefix + "/" + "templates.ldb";templates.url = "tdb://" + templates.file;templates.BASEDN = "cn=templates";templates.db = ldb_init();sys.unlink(ldbfile);sys.unlink(samba3.file);sys.unlink(templates.file);sys.unlink(samba4.file);var ok = ldb.connect(ldburl);assert(ok);var ok = samba3.db.connect(samba3.url);assert(ok);var ok = templates.db.connect(templates.url);assert(ok);var ok = samba4.db.connect(samba4.url);assert(ok);setup_data(samba3, sys.file_load(datadir + "/" + "samba3.ldif"));setup_data(templates, sys.file_load(datadir + "/" + "provision_samba3sam_templates.ldif"));setup_modules(ldb, samba3, samba4, sys.file_load(datadir + "/" + "provision_samba3sam.ldif"));ldb = ldb_init();var ok = ldb.connect(ldburl);assert(ok);test_s3sam_search(ldb);test_s3sam_modify(ldb, samba3);sys.unlink(ldbfile);sys.unlink(samba3.file);sys.unlink(templates.file);sys.unlink(samba4.file);ldb = ldb_init();var ok = ldb.connect(ldburl);assert(ok);samba3.db = ldb_init();var ok = samba3.db.connect(samba3.url);assert(ok);templates.db = ldb_init();var ok = templates.db.connect(templates.url);assert(ok);samba4.db = ldb_init();var ok = samba4.db.connect(samba4.url);assert(ok);setup_data(templates, sys.file_load(datadir + "/" + "provision_samba3sam_templates.ldif"));setup_modules(ldb, samba3, samba4, sys.file_load(datadir + "provision_samba3sam.ldif"));ldb = ldb_init();var ok = ldb.connect(ldburl);assert(ok);test_map_search(ldb, samba3, samba4);test_map_modify(ldb, samba3, samba4);sys.unlink(ldbfile);sys.unlink(samba3.file);sys.unlink(samba4.file);return 0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -