Title: [224088] trunk/Source/WebDriver
Revision
224088
Author
[email protected]
Date
2017-10-27 00:10:55 -0700 (Fri, 27 Oct 2017)

Log Message

WebDriver: failing to process capabilities should produce InvalidArgument error not SessionNotCreated
https://bugs.webkit.org/show_bug.cgi?id=178864

Reviewed by Brian Burg.

Fixes most of the tests in imported/w3c/webdriver/tests/sessions/new_session/invalid_capabilities.py.

7.2 Processing Capabilities
https://w3c.github.io/webdriver/webdriver-spec.html#processing-capabilities

* WebDriverService.cpp:
(WebDriver::WebDriverService::processCapabilities const):

Modified Paths

Diff

Modified: trunk/Source/WebDriver/ChangeLog (224087 => 224088)


--- trunk/Source/WebDriver/ChangeLog	2017-10-27 07:04:51 UTC (rev 224087)
+++ trunk/Source/WebDriver/ChangeLog	2017-10-27 07:10:55 UTC (rev 224088)
@@ -1,3 +1,18 @@
+2017-10-27  Carlos Garcia Campos  <[email protected]>
+
+        WebDriver: failing to process capabilities should produce InvalidArgument error not SessionNotCreated
+        https://bugs.webkit.org/show_bug.cgi?id=178864
+
+        Reviewed by Brian Burg.
+
+        Fixes most of the tests in imported/w3c/webdriver/tests/sessions/new_session/invalid_capabilities.py.
+
+        7.2 Processing Capabilities
+        https://w3c.github.io/webdriver/webdriver-spec.html#processing-capabilities
+
+        * WebDriverService.cpp:
+        (WebDriver::WebDriverService::processCapabilities const):
+
 2017-10-10  Sam Weinig  <[email protected]>
 
         Replace copyKeysToVector/copyValuesToVector with copyToVector(map.keys())/copyToVector(map.values())

Modified: trunk/Source/WebDriver/WebDriverService.cpp (224087 => 224088)


--- trunk/Source/WebDriver/WebDriverService.cpp	2017-10-27 07:04:51 UTC (rev 224087)
+++ trunk/Source/WebDriver/WebDriverService.cpp	2017-10-27 07:10:55 UTC (rev 224088)
@@ -476,7 +476,7 @@
     // 1. Let capabilities request be the result of getting the property "capabilities" from parameters.
     RefPtr<InspectorObject> capabilitiesObject;
     if (!parameters.getObject(ASCIILiteral("capabilities"), capabilitiesObject)) {
-        completionHandler(CommandResult::fail(CommandResult::ErrorCode::SessionNotCreated));
+        completionHandler(CommandResult::fail(CommandResult::ErrorCode::InvalidArgument));
         return nullptr;
     }
 
@@ -487,7 +487,7 @@
         // 2.1. If required capabilities is undefined, set the value to an empty JSON Object.
         requiredCapabilities = InspectorObject::create();
     else if (!requiredCapabilitiesValue->asObject(requiredCapabilities)) {
-        completionHandler(CommandResult::fail(CommandResult::ErrorCode::SessionNotCreated, String("alwaysMatch is invalid in capabilities")));
+        completionHandler(CommandResult::fail(CommandResult::ErrorCode::InvalidArgument, String("alwaysMatch is invalid in capabilities")));
         return nullptr;
     }
 
@@ -494,7 +494,7 @@
     // 2.2. Let required capabilities be the result of trying to validate capabilities with argument required capabilities.
     requiredCapabilities = validatedCapabilities(*requiredCapabilities);
     if (!requiredCapabilities) {
-        completionHandler(CommandResult::fail(CommandResult::ErrorCode::SessionNotCreated, String("Invalid alwaysMatch capabilities")));
+        completionHandler(CommandResult::fail(CommandResult::ErrorCode::InvalidArgument, String("Invalid alwaysMatch capabilities")));
         return nullptr;
     }
 
@@ -507,7 +507,7 @@
         firstMatchCapabilitiesList->pushObject(InspectorObject::create());
     } else if (!firstMatchCapabilitiesValue->asArray(firstMatchCapabilitiesList)) {
         // 3.2. If all first match capabilities is not a JSON List, return error with error code invalid argument.
-        completionHandler(CommandResult::fail(CommandResult::ErrorCode::SessionNotCreated, String("firstMatch is invalid in capabilities")));
+        completionHandler(CommandResult::fail(CommandResult::ErrorCode::InvalidArgument, String("firstMatch is invalid in capabilities")));
         return nullptr;
     }
 
@@ -520,13 +520,13 @@
         RefPtr<InspectorValue> firstMatchCapabilitiesValue = firstMatchCapabilitiesList->get(i);
         RefPtr<InspectorObject> firstMatchCapabilities;
         if (!firstMatchCapabilitiesValue->asObject(firstMatchCapabilities)) {
-            completionHandler(CommandResult::fail(CommandResult::ErrorCode::SessionNotCreated, String("Invalid capabilities found in firstMatch")));
+            completionHandler(CommandResult::fail(CommandResult::ErrorCode::InvalidArgument, String("Invalid capabilities found in firstMatch")));
             return nullptr;
         }
         // 5.1. Let validated capabilities be the result of trying to validate capabilities with argument first match capabilities.
         firstMatchCapabilities = validatedCapabilities(*firstMatchCapabilities);
         if (!firstMatchCapabilities) {
-            completionHandler(CommandResult::fail(CommandResult::ErrorCode::SessionNotCreated, String("Invalid firstMatch capabilities")));
+            completionHandler(CommandResult::fail(CommandResult::ErrorCode::InvalidArgument, String("Invalid firstMatch capabilities")));
             return nullptr;
         }
         // 5.2. Append validated capabilities to validated first match capabilities.
@@ -539,7 +539,7 @@
         // 6.1. Let merged capabilities be the result of trying to merge capabilities with required capabilities and first match capabilities as arguments.
         auto mergedCapabilities = mergeCapabilities(*requiredCapabilities, *validatedFirstMatchCapabilies);
         if (!mergedCapabilities) {
-            completionHandler(CommandResult::fail(CommandResult::ErrorCode::SessionNotCreated, String("Same capability found in firstMatch and alwaysMatch")));
+            completionHandler(CommandResult::fail(CommandResult::ErrorCode::InvalidArgument, String("Same capability found in firstMatch and alwaysMatch")));
             return nullptr;
         }
         // 6.2. Let matched capabilities be the result of trying to match capabilities with merged capabilities as an argument.
@@ -550,7 +550,7 @@
         }
     }
 
-    completionHandler(CommandResult::fail(CommandResult::ErrorCode::SessionNotCreated, errorString ? errorString.value() : String("Invalid capabilities")));
+    completionHandler(CommandResult::fail(CommandResult::ErrorCode::InvalidArgument, errorString ? errorString.value() : String("Invalid capabilities")));
     return nullptr;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to