|
| 1 | +--TEST-- |
| 2 | +MongoDB\Write\Batch: #001 Variety Batch |
| 3 | +--SKIPIF-- |
| 4 | +<?php require "tests/utils/basic-skipif.inc"?> |
| 5 | +--FILE-- |
| 6 | +<?php |
| 7 | +require_once "tests/utils/basic.inc"; |
| 8 | + |
| 9 | +$username = "root"; |
| 10 | +$password = "toor"; |
| 11 | +$database = "admin"; |
| 12 | + |
| 13 | +$parsed = parse_url(MONGODB_STANDALONE_PLAIN_URI); |
| 14 | +$dsn = sprintf("mongodb://%s:%s@%s:%d/%s", $username, $password, $parsed["host"], $parsed["port"], $database); |
| 15 | +$adminmanager = new MongoDB\Manager($dsn); |
| 16 | + |
| 17 | +$cmd = array( |
| 18 | + "createUser" => "bugs", |
| 19 | + "roles" => [["role" => "readWrite", "db" => DATABASE_NAME]], |
| 20 | +); |
| 21 | +$command = new MongoDB\Command($cmd); |
| 22 | +try { |
| 23 | + $result = $adminmanager->executeCommand('$external', $command); |
| 24 | + echo "User Created\n"; |
| 25 | +} catch(Exception $e) { |
| 26 | + echo $e->getMessage(), "\n"; |
| 27 | +} |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | +$username = "bugs"; |
| 32 | +$password = "password"; |
| 33 | +$database = '$external'; |
| 34 | + |
| 35 | +$dsn = sprintf("mongodb://%s:%s@%s:%d/%s?authMechanism=PLAIN", $username, $password, $parsed["host"], $parsed["port"], $database); |
| 36 | +$manager = new MongoDB\Manager($dsn); |
| 37 | + |
| 38 | +$batch = new MongoDB\WriteBatch(); |
| 39 | +$batch->insert(array("very" => "important")); |
| 40 | +try { |
| 41 | + $manager->executeWriteBatch(NS, $batch); |
| 42 | + $query = new MongoDB\Query(array("very" => "important")); |
| 43 | + $cursor = $manager->executeQuery(NS, $query); |
| 44 | + foreach($cursor as $document) { |
| 45 | + var_dump($document["very"]); |
| 46 | + } |
| 47 | + $cmd = new MongoDB\Command(array("drop" => COLLECTION_NAME)); |
| 48 | + $result = $manager->executeCommand(DATABASE_NAME, $cmd); |
| 49 | +} catch(Exception $e) { |
| 50 | + printf("Caught %s: %s\n", get_class($e), $e->getMessage()); |
| 51 | +} |
| 52 | +$cmd = array( |
| 53 | + "dropUser" => "bugs", |
| 54 | +); |
| 55 | +$command = new MongoDB\Command($cmd); |
| 56 | +try { |
| 57 | + $result = $adminmanager->executeCommand('$external', $command); |
| 58 | + echo "User deleted\n"; |
| 59 | +} catch(Exception $e) { |
| 60 | + echo $e->getMessage(), "\n"; |
| 61 | +} |
| 62 | +?> |
| 63 | +===DONE=== |
| 64 | +<?php exit(0); ?> |
| 65 | +--EXPECT-- |
| 66 | +User Created |
| 67 | +string(9) "important" |
| 68 | +User deleted |
| 69 | +===DONE=== |
0 commit comments