Rajout de doctrine/orm
[zf2.biz/application_blanche.git] / vendor / doctrine / dbal / tests / Doctrine / Tests / DBAL / Sharding / SQLAzure / SQLAzureFederationsSynchronizerTest.php
diff --git a/vendor/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/SQLAzure/SQLAzureFederationsSynchronizerTest.php b/vendor/doctrine/dbal/tests/Doctrine/Tests/DBAL/Sharding/SQLAzure/SQLAzureFederationsSynchronizerTest.php
new file mode 100644 (file)
index 0000000..091a363
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+namespace Doctrine\Tests\DBAL\Sharding\SQLAzure;
+
+use Doctrine\DBAL\Schema\Schema;
+use Doctrine\DBAL\Sharding\SQLAzure\SQLAzureFederationsSynchronizer;
+
+class SQLAzureFederationsSynchronizerTest extends AbstractTestCase
+{
+    public function testCreateSchema()
+    {
+        $schema = $this->createShopSchema();
+
+        $synchronizer = new SQLAzureFederationsSynchronizer($this->conn, $this->sm);
+        $sql = $synchronizer->getCreateSchema($schema);
+
+        $this->assertEquals(array (
+            "--Create Federation\nCREATE FEDERATION Orders_Federation (CustID INT  RANGE)",
+            "USE FEDERATION Orders_Federation (CustID = 0) WITH RESET, FILTERING = OFF;",
+            "CREATE TABLE Products (ProductID INT NOT NULL, SupplierID INT NOT NULL, ProductName NVARCHAR(255) NOT NULL, Price NUMERIC(12, 2) NOT NULL, PRIMARY KEY (ProductID))",
+            "CREATE TABLE Customers (CustomerID INT NOT NULL, CompanyName NVARCHAR(255) NOT NULL, FirstName NVARCHAR(255) NOT NULL, LastName NVARCHAR(255) NOT NULL, PRIMARY KEY (CustomerID))",
+            "CREATE TABLE Orders (CustomerID INT NOT NULL, OrderID INT NOT NULL, OrderDate DATETIME2(6) NOT NULL, PRIMARY KEY (CustomerID, OrderID))",
+            "CREATE TABLE OrderItems (CustomerID INT NOT NULL, OrderID INT NOT NULL, ProductID INT NOT NULL, Quantity INT NOT NULL, PRIMARY KEY (CustomerID, OrderID, ProductID))",
+        ), $sql);
+    }
+
+    public function testUpdateSchema()
+    {
+        $schema = $this->createShopSchema();
+
+        $synchronizer = new SQLAzureFederationsSynchronizer($this->conn, $this->sm);
+        $synchronizer->dropAllSchema();
+
+        $sql = $synchronizer->getUpdateSchema($schema);
+
+        $this->assertEquals(array(), $sql);
+    }
+
+    public function testDropSchema()
+    {
+        $schema = $this->createShopSchema();
+
+        $synchronizer = new SQLAzureFederationsSynchronizer($this->conn, $this->sm);
+        $synchronizer->dropAllSchema();
+        $synchronizer->createSchema($schema);
+        $sql = $synchronizer->getDropSchema($schema);
+
+        $this->assertEQuals(5, count($sql));
+    }
+}
+