Skip to content

Commit 4c62e74

Browse files
author
Sanjay
committed
Merge pull request #18 from sanjaymandadi/master
Fix issue post/put operations
2 parents 84d57f5 + 89471c4 commit 4c62e74

File tree

5 files changed

+85
-9
lines changed

5 files changed

+85
-9
lines changed

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
"license": "Apache-2.0",
88
"require": {
99
"php": ">=5.5",
10-
"guzzlehttp/guzzle": "6.0.1",
11-
"guzzlehttp/psr7": "~1.0",
10+
"guzzlehttp/guzzle": "6.0.2",
11+
"guzzlehttp/psr7": "~1.1",
1212
"guzzlehttp/promises": "~1.0",
1313
"apache/log4php": "2.3.0"
1414
},

src/MozuClient.php

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public function withContext(iApiContext $apiContext) {
8686
}
8787

8888
public function withBody($body) {
89-
$this->requestBody = json_encode ( $body );
89+
$this->requestBody = json_encode($body);
9090
$this->isStreamContent = false;
9191
return $this;
9292
}
@@ -120,7 +120,7 @@ public function withHeader($header, $value) {
120120
public function execute() {
121121
$this->validateContext();
122122
$this->buildClientAndRequest();
123-
$promise = $this->client->sendAsync ($this->request);
123+
$promise = $this->client->sendAsync($this->request);
124124
$this->response = $promise->wait();
125125

126126
return $this;
@@ -129,8 +129,8 @@ public function execute() {
129129
public function executeAsync() {
130130
$this->validateContext();
131131
$this->buildClientAndRequest();
132-
return $this->client->sendAsync ($this->request)
133-
->then(function($response) {
132+
$promise = $this->client->sendAsync($this->request);
133+
return $promise->then(function($response) {
134134
$mozuResult = new MozuResult();
135135
if (!$this->notFoundFromServer) {
136136
$mozuResult->contentType = $response->getHeader("Content-Type");
@@ -221,7 +221,7 @@ private function addRequestHeaders(RequestInterface $request) {
221221
$request = $request->withHeader(Headers::CONTENT_TYPE,$this->contentType);
222222
}
223223
if (!$this->isStreamContent)
224-
$request= $request->withHeader('Content-Type', 'application/json');
224+
$request= $request->withHeader('Content-Type', 'application/json; charset=utf-8');
225225

226226
if ($this->apiContext != null && $this->apiContext->getUserAuthTicket() != null) {
227227
$this->setUserAuth();
@@ -232,6 +232,9 @@ private function addRequestHeaders(RequestInterface $request) {
232232
foreach ($this->headers as $name => $value) {
233233
$request = $request->withHeader($name, $value );
234234
}
235+
236+
if ($this->requestBody != null)
237+
$request = $request->withHeader("Content-Length", strlen($this->requestBody));
235238
return $request;
236239
}
237240

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
<?php
2+
3+
use GuzzleHttp\Promise;
4+
use Mozu\Api\ApiContext;
5+
use Mozu\Api\DataViewMode;
6+
use Mozu\Api\Resources\Commerce\Catalog\Admin\Attributedefinition\ProductTypeResource;
7+
use Mozu\Api\Contracts\ProductAdmin\ProductType;
8+
9+
use Mozu\Api\Resources\Platform\TenantResource;
10+
use Mozu\Tests\BaseTest;
11+
12+
/**
13+
* Test class for ProductResource.
14+
* Generated by PHPUnit on 2013-09-25 at 15:38:56.
15+
*/
16+
class ProductTypeResourceTest extends BaseTest
17+
{
18+
/**
19+
* @var ProductResource
20+
*/
21+
protected $object;
22+
23+
/**
24+
* Sets up the fixture, for example, opens a network connection.
25+
* This method is called before a test is executed.
26+
*/
27+
protected function setUp()
28+
{
29+
printf("Getting tenant");
30+
$tenantResource = new TenantResource();
31+
$tenantPromise = $tenantResource->getTenantAsync($this->tenantId);
32+
$tenantPromise->then(function($mozuResult) {
33+
$apiContext = new ApiContext($mozuResult->json());
34+
$this->object = new ProductTypeResource($apiContext, DataViewMode::LIVE);
35+
}, function($apiException) {
36+
parent::printError($apiException);
37+
throw $apiException;
38+
});
39+
40+
$tenantPromise->wait();
41+
42+
}
43+
44+
/**
45+
* Tears down the fixture, for example, closes a network connection.
46+
* This method is called after a test is executed.
47+
*/
48+
protected function tearDown()
49+
{
50+
}
51+
52+
/**
53+
* @covers Mozu\Api\Resources\Commerce\Catalog\Admin\ProductResource::getProducts
54+
* @todo Implement testGetProducts().
55+
*/
56+
public function testAddProductTypeAsync()
57+
{
58+
$apiContext = new ApiContext($this->tenantId, 0, 1, 1);
59+
//$type_resource = new ProductTypeResource($apiContext, DataViewMode::LIVE);
60+
61+
$product_type = new ProductType();
62+
$product_type->goodsType = 'Physical';
63+
$product_type->masterCatalogId = 1;
64+
$product_type->productUsages = array('Standard', 'Configurable', 'Component');
65+
$product_type->name = "test3";
66+
$product_type->isBaseProductType = False;
67+
68+
$result = $this->object->addProductTypeAsync($product_type)->wait();
69+
var_dump($result);
70+
}
71+
72+
73+
}
74+
?>

tests/src/Resources/Commerce/Catalog/Admin/ProductResourceTest.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<?php
2-
require_once __DIR__ . '/../../../../../../BaseTest.php';
32

43
use GuzzleHttp\Promise;
54
use Mozu\Api\ApiContext;

tests/src/Resources/Content/Documentlists/DocumentResourceTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public function testGetDocumentContentNotFound()
7171

7272
public function testUpdateDocumentContent() {
7373
$file = file_get_contents("C:\\files\\phpdownload.jpg");
74-
$promise = $this->object->updateDocumentContentAsync($file, "files@mozu", "1bab2900-e57e-4c5b-83be-183edeef9bda", "image/jpg");
74+
$promise = $this->object->updateDocumentContentAsync($file, "files@mozu", "a487bccd-7ee3-4fef-af9b-91b454559f7d", "image/jpg");
7575
$promise->then(function($mozuResult){
7676
printf($mozuResult->correlationId);
7777
}, function($apiException){

0 commit comments

Comments
 (0)