Skip to content

Commit cb09d0a

Browse files
committed
Update testing section and add related section
1 parent f4f1f79 commit cb09d0a

File tree

1 file changed

+36
-7
lines changed

1 file changed

+36
-7
lines changed

README.md

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ components (with a lower barrier of entry) while also keeping the overall design
1313
fast and powerful.
1414

1515
## Documentation
16-
- http://10gen-labs.github.io/mongo-php-driver-prototype
1716
- http://docs.php.net/set.mongodb
17+
- http://10gen-labs.github.io/mongo-php-driver-prototype
1818

1919
## Installation
2020

@@ -39,18 +39,47 @@ See [CONTRIBUTING.md](CONTRIBUTING.md)
3939

4040
## Testing
4141

42-
To execute the driver's test suite:
42+
The test suites expects to find `PHONGO-SERVERS.json` in the system temp directory (typically `/tmp`).
43+
This file should contain JSON object with MONGODB URIs, similar to the following template
44+
45+
```
46+
{
47+
"STANDALONE": "mongodb:\/\/192.168.112.10:2000",
48+
"STANDALONE_SSL": "mongodb:\/\/192.168.112.10:2100",
49+
"STANDALONE_AUTH": "mongodb:\/\/root:[email protected]:2200\/?authSource=admin",
50+
"STANDALONE_X509": "mongodb:\/\/C=US,ST=New York,L=New York City,O=MongoDB,OU=KernelUser,[email protected]:2300\/?authSource=$external&authMechanism=MONGODB-X509",
51+
"STANDALONE_PLAIN": "mongodb:\/\/root:[email protected]:2400\/?authSource=admin",
52+
"REPLICASET": "mongodb:\/\/192.168.112.10:3000,192.168.112.10:3001,192.168.112.10:3002\/?replicaSet=REPLICASET"
53+
}
54+
```
55+
56+
Alternatively, we provide, and use, [Vagrant](https://www.vagrantup.com/) to spin up couple of VMs
57+
where we setup and configure MongoDB according to our needs.
58+
4359

4460
```
4561
$ make vm # requires vagrant (www.vagrantup.com)
4662
$ make test-bootstrap # Spins up mongod's in the virtual machines
47-
$ make test # Executes the test suite against the virtual machines
4863
```
4964

50-
Some tests depend on userland PHP libraries (e.g. creating data fixtures) and
51-
may be skipped if those dependencies are not available. Those libraries may be
52-
installed with via Composer:
65+
The `test-bootstrap` make target will then generate the required `PHONGO-SERVERS.json`.
66+
67+
68+
To execute the test suite:
5369

5470
```
55-
$ make composer
71+
$ make test # Executes the test suite against the virtual machines
5672
```
73+
74+
The bundled [Vagrantfile](Vagrantfile) also contains few other (growing) list of VMs
75+
that can be provisioned to execute the test suite on various platforms.
76+
77+
These are automatically executed by the `make distcheck`, which will package a new PECL archive,
78+
spin up the various operating systems, install the newly packaged archive, and execute
79+
the test suite.
80+
81+
82+
## Related projects
83+
- [Official high-level library](https://github.com/10gen-labs/mongo-php-library-prototype)
84+
- [MongoDB Transistor](https://github.com/bjori/mongo-php-transistor) Lightweight ODM using the [Persistable](http://php.net/bson\\persistable) interface
85+

0 commit comments

Comments
 (0)