Initial commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
name: CI
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
php: [5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0]
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php }}
|
||||
|
||||
- name: Validate composer.json and composer.lock
|
||||
run: composer validate
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer install --prefer-dist --no-progress --no-interaction --no-suggest
|
||||
|
||||
- name: Run test suite
|
||||
run: php vendor/bin/codecept run
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2011 Michael Bodnarchuk and contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
@@ -0,0 +1,44 @@
|
||||
{
|
||||
"name":"codeception/lib-innerbrowser",
|
||||
"description":"Parent library for all Codeception framework modules and PhpBrowser",
|
||||
"keywords":["codeception"],
|
||||
"homepage":"https://codeception.com/",
|
||||
"type":"library",
|
||||
"license":"MIT",
|
||||
"authors":[
|
||||
{
|
||||
"name":"Michael Bodnarchuk",
|
||||
"email":"davert@mail.ua",
|
||||
"homepage":"http://codegyre.com"
|
||||
},
|
||||
{
|
||||
"name":"Gintautas Miselis"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "RC",
|
||||
|
||||
"require": {
|
||||
"php": ">=5.6.0 <9.0",
|
||||
"codeception/codeception": "4.*@dev",
|
||||
"symfony/browser-kit": ">=2.7 <6.0",
|
||||
"symfony/dom-crawler": ">=2.7 <6.0",
|
||||
"ext-mbstring": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-json": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"codeception/util-universalframework": "dev-master"
|
||||
},
|
||||
"conflict": {
|
||||
"codeception/codeception": "<4.0"
|
||||
},
|
||||
"autoload":{
|
||||
"classmap": ["src/"]
|
||||
},
|
||||
"config": {
|
||||
"classmap-authoritative": true
|
||||
},
|
||||
"scripts": {
|
||||
"test": "codecept run --coverage-xml"
|
||||
}
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
namespace Codeception\Exception;
|
||||
|
||||
class ExternalUrlException extends \Exception
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
|
||||
namespace Codeception\Lib;
|
||||
|
||||
/**
|
||||
* Abstract module for PHP frameworks connected via Symfony BrowserKit components
|
||||
* Each framework is connected with it's own connector defined in \Codeception\Lib\Connector
|
||||
* Each module for framework should extend this class.
|
||||
*
|
||||
*/
|
||||
abstract class Framework extends InnerBrowser
|
||||
{
|
||||
/**
|
||||
* Returns a list of recognized domain names
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getInternalDomains()
|
||||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $settings
|
||||
*/
|
||||
public function _beforeSuite($settings = [])
|
||||
{
|
||||
/**
|
||||
* reset internal domains before suite, because each suite can have a different configuration
|
||||
*/
|
||||
$this->internalDomains = null;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,360 @@
|
||||
<?php
|
||||
|
||||
namespace Codeception\Util;
|
||||
|
||||
/**
|
||||
* Class containing constants of HTTP Status Codes
|
||||
* and method to print HTTP code with its description.
|
||||
*
|
||||
* Usage:
|
||||
*
|
||||
* ```php
|
||||
* <?php
|
||||
* use \Codeception\Util\HttpCode;
|
||||
*
|
||||
* // using REST, PhpBrowser, or any Framework module
|
||||
* $I->seeResponseCodeIs(HttpCode::OK);
|
||||
* $I->dontSeeResponseCodeIs(HttpCode::NOT_FOUND);
|
||||
* ```
|
||||
*
|
||||
*
|
||||
*/
|
||||
class HttpCode
|
||||
{
|
||||
// const CONTINUE = 100;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const SWITCHING_PROTOCOLS = 101;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const PROCESSING = 102; // RFC2518
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const EARLY_HINTS = 103; // RFC8297
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const OK = 200;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const CREATED = 201;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const ACCEPTED = 202;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const NON_AUTHORITATIVE_INFORMATION = 203;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const NO_CONTENT = 204;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const RESET_CONTENT = 205;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const PARTIAL_CONTENT = 206;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const MULTI_STATUS = 207; // RFC4918
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const ALREADY_REPORTED = 208; // RFC5842
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const IM_USED = 226; // RFC3229
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const MULTIPLE_CHOICES = 300;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const MOVED_PERMANENTLY = 301;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const FOUND = 302;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const SEE_OTHER = 303;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const NOT_MODIFIED = 304;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const USE_PROXY = 305;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const RESERVED = 306;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const TEMPORARY_REDIRECT = 307;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const PERMANENTLY_REDIRECT = 308; // RFC7238
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const BAD_REQUEST = 400;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const UNAUTHORIZED = 401;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const PAYMENT_REQUIRED = 402;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const FORBIDDEN = 403;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const NOT_FOUND = 404;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const METHOD_NOT_ALLOWED = 405;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const NOT_ACCEPTABLE = 406;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const PROXY_AUTHENTICATION_REQUIRED = 407;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const REQUEST_TIMEOUT = 408;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const CONFLICT = 409;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const GONE = 410;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const LENGTH_REQUIRED = 411;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const PRECONDITION_FAILED = 412;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const REQUEST_ENTITY_TOO_LARGE = 413;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const REQUEST_URI_TOO_LONG = 414;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const UNSUPPORTED_MEDIA_TYPE = 415;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const REQUESTED_RANGE_NOT_SATISFIABLE = 416;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const EXPECTATION_FAILED = 417;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const I_AM_A_TEAPOT = 418; // RFC2324
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const MISDIRECTED_REQUEST = 421; // RFC7540
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const UNPROCESSABLE_ENTITY = 422; // RFC4918
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const LOCKED = 423; // RFC4918
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const FAILED_DEPENDENCY = 424; // RFC4918
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const RESERVED_FOR_WEBDAV_ADVANCED_COLLECTIONS_EXPIRED_PROPOSAL = 425; // RFC2817
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const UPGRADE_REQUIRED = 426; // RFC2817
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const PRECONDITION_REQUIRED = 428; // RFC6585
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const TOO_MANY_REQUESTS = 429; // RFC6585
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const REQUEST_HEADER_FIELDS_TOO_LARGE = 431; // RFC6585
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const UNAVAILABLE_FOR_LEGAL_REASONS = 451;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const INTERNAL_SERVER_ERROR = 500;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const NOT_IMPLEMENTED = 501;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const BAD_GATEWAY = 502;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const SERVICE_UNAVAILABLE = 503;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const GATEWAY_TIMEOUT = 504;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const VERSION_NOT_SUPPORTED = 505;
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL = 506; // RFC2295
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const INSUFFICIENT_STORAGE = 507; // RFC4918
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const LOOP_DETECTED = 508; // RFC5842
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const NOT_EXTENDED = 510; // RFC2774
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
const NETWORK_AUTHENTICATION_REQUIRED = 511; // RFC6585
|
||||
/**
|
||||
* @var array<int, string>
|
||||
*/
|
||||
private static $codes = [
|
||||
100 => 'Continue',
|
||||
102 => 'Processing',
|
||||
103 => 'Early Hints',
|
||||
200 => 'OK',
|
||||
201 => 'Created',
|
||||
202 => 'Accepted',
|
||||
203 => 'Non-Authoritative Information',
|
||||
204 => 'No Content',
|
||||
205 => 'Reset Content',
|
||||
206 => 'Partial Content',
|
||||
207 => 'Multi-Status',
|
||||
208 => 'Already Reported',
|
||||
226 => 'IM Used',
|
||||
300 => 'Multiple Choices',
|
||||
301 => 'Moved Permanently',
|
||||
302 => 'Found',
|
||||
303 => 'See Other',
|
||||
304 => 'Not Modified',
|
||||
305 => 'Use Proxy',
|
||||
306 => 'Reserved',
|
||||
307 => 'Temporary Redirect',
|
||||
308 => 'Permanent Redirect',
|
||||
400 => 'Bad Request',
|
||||
401 => 'Unauthorized',
|
||||
402 => 'Payment Required',
|
||||
403 => 'Forbidden',
|
||||
404 => 'Not Found',
|
||||
405 => 'Method Not Allowed',
|
||||
406 => 'Not Acceptable',
|
||||
407 => 'Proxy Authentication Required',
|
||||
408 => 'Request Timeout',
|
||||
409 => 'Conflict',
|
||||
410 => 'Gone',
|
||||
411 => 'Length Required',
|
||||
412 => 'Precondition Failed',
|
||||
413 => 'Request Entity Too Large',
|
||||
414 => 'Request-URI Too Long',
|
||||
415 => 'Unsupported Media Type',
|
||||
416 => 'Requested Range Not Satisfiable',
|
||||
417 => 'Expectation Failed',
|
||||
418 => 'Unassigned',
|
||||
421 => 'Misdirected Request',
|
||||
422 => 'Unprocessable Entity',
|
||||
423 => 'Locked',
|
||||
424 => 'Failed Dependency',
|
||||
425 => 'Too Early',
|
||||
426 => 'Upgrade Required',
|
||||
428 => 'Precondition Required',
|
||||
429 => 'Too Many Requests',
|
||||
431 => 'Request Header Fields Too Large',
|
||||
451 => 'Unavailable For Legal Reasons',
|
||||
500 => 'Internal Server Error',
|
||||
501 => 'Not Implemented',
|
||||
502 => 'Bad Gateway',
|
||||
503 => 'Service Unavailable',
|
||||
504 => 'Gateway Timeout',
|
||||
505 => 'HTTP Version Not Supported',
|
||||
506 => 'Variant Also Negotiates',
|
||||
507 => 'Insufficient Storage',
|
||||
508 => 'Loop Detected',
|
||||
510 => 'Not Extended',
|
||||
511 => 'Network Authentication Required'
|
||||
];
|
||||
|
||||
/**
|
||||
* Returns string with HTTP code and its description
|
||||
*
|
||||
* ```php
|
||||
* <?php
|
||||
* HttpCode::getDescription(200); // '200 (OK)'
|
||||
* HttpCode::getDescription(401); // '401 (Unauthorized)'
|
||||
* ```
|
||||
*
|
||||
* @param int $code
|
||||
* @return int|string
|
||||
*/
|
||||
public static function getDescription($code)
|
||||
{
|
||||
if (isset(self::$codes[$code])) {
|
||||
return sprintf('%d (%s)', $code, self::$codes[$code]);
|
||||
}
|
||||
return $code;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user