Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 18.188.211.246
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/book24.ng/vendor/omnipay__/paypal/tests/Message/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/book24.ng/vendor/omnipay__/paypal/tests/Message/ExpressAuthorizeRequestTest.php
<?php

namespace Omnipay\PayPal\Message;

use Omnipay\Common\CreditCard;
use Omnipay\Common\Exception\InvalidRequestException;
use Omnipay\PayPal\Message\ExpressAuthorizeRequest;
use Omnipay\PayPal\Support\InstantUpdateApi\BillingAgreement;
use Omnipay\PayPal\Support\InstantUpdateApi\ShippingOption;
use Omnipay\Tests\TestCase;

class ExpressAuthorizeRequestTest extends TestCase
{
    /**
     * @var ExpressAuthorizeRequest
     */
    private $request;

    public function setUp()
    {
        parent::setUp();

        $this->request = new ExpressAuthorizeRequest($this->getHttpClient(), $this->getHttpRequest());
        $this->request->initialize(
            array(
                'amount' => '10.00',
                'returnUrl' => 'https://www.example.com/return',
                'cancelUrl' => 'https://www.example.com/cancel',
            )
        );
    }

    public function testGetDataWithoutCard()
    {
        $this->request->initialize(array(
            'amount' => '10.00',
            'currency' => 'AUD',
            'transactionId' => '111',
            'description' => 'Order Description',
            'returnUrl' => 'https://www.example.com/return',
            'cancelUrl' => 'https://www.example.com/cancel',
            'subject' => 'demo@example.com',
            'headerImageUrl' => 'https://www.example.com/header.jpg',
            'noShipping' => 0,
            'localeCode' => 'EN',
            'allowNote' => 0,
            'addressOverride' => 0,
            'brandName' => 'Dunder Mifflin Paper Company, Inc.',
            'customerServiceNumber' => '1-801-FLOWERS',
        ));

        $data = $this->request->getData();

        $this->assertSame('10.00', $data['PAYMENTREQUEST_0_AMT']);
        $this->assertSame('AUD', $data['PAYMENTREQUEST_0_CURRENCYCODE']);
        $this->assertSame('111', $data['PAYMENTREQUEST_0_INVNUM']);
        $this->assertSame('Order Description', $data['PAYMENTREQUEST_0_DESC']);
        $this->assertSame('https://www.example.com/return', $data['RETURNURL']);
        $this->assertSame('https://www.example.com/cancel', $data['CANCELURL']);
        $this->assertSame('demo@example.com', $data['SUBJECT']);
        $this->assertSame('https://www.example.com/header.jpg', $data['HDRIMG']);
        $this->assertSame(0, $data['NOSHIPPING']);
        $this->assertSame(0, $data['ALLOWNOTE']);
        $this->assertSame('EN', $data['LOCALECODE']);
        $this->assertSame(0, $data['ADDROVERRIDE']);
        $this->assertSame('Dunder Mifflin Paper Company, Inc.', $data['BRANDNAME']);
        $this->assertSame('1-801-FLOWERS', $data['CUSTOMERSERVICENUMBER']);
    }

    public function testGetDataWithCard()
    {
        $this->request->initialize(array(
            'amount' => '10.00',
            'currency' => 'AUD',
            'transactionId' => '111',
            'description' => 'Order Description',
            'returnUrl' => 'https://www.example.com/return',
            'cancelUrl' => 'https://www.example.com/cancel',
            'subject' => 'demo@example.com',
            'headerImageUrl' => 'https://www.example.com/header.jpg',
            'noShipping' => 2,
            'allowNote' => 1,
            'addressOverride' => 1,
            'brandName' => 'Dunder Mifflin Paper Company, Inc.',
            'maxAmount' => 123.45,
            'logoImageUrl' => 'https://www.example.com/logo.jpg',
            'borderColor' => 'CCCCCC',
            'localeCode' => 'EN',
            'customerServiceNumber' => '1-801-FLOWERS',
            'sellerPaypalAccountId' => 'billing@example.com',
        ));

        $card = new CreditCard(array(
            'name' => 'John Doe',
            'address1' => '123 NW Blvd',
            'address2' => 'Lynx Lane',
            'city' => 'Topeka',
            'state' => 'KS',
            'country' => 'USA',
            'postcode' => '66605',
            'phone' => '555-555-5555',
            'email' => 'test@email.com',
        ));
        $this->request->setCard($card);

        $expected = array(
            'METHOD' => 'SetExpressCheckout',
            'VERSION' => ExpressAuthorizeRequest::API_VERSION,
            'USER' => null,
            'PWD' => null,
            'SIGNATURE' => null,
            'PAYMENTREQUEST_0_PAYMENTACTION' => 'Authorization',
            'SOLUTIONTYPE' => null,
            'LANDINGPAGE' => null,
            'NOSHIPPING' => 2,
            'ALLOWNOTE' => 1,
            'ADDROVERRIDE' => 1,
            'PAYMENTREQUEST_0_AMT' => '10.00',
            'PAYMENTREQUEST_0_CURRENCYCODE' => 'AUD',
            'PAYMENTREQUEST_0_INVNUM' => '111',
            'PAYMENTREQUEST_0_DESC' => 'Order Description',
            'RETURNURL' => 'https://www.example.com/return',
            'CANCELURL' => 'https://www.example.com/cancel',
            'SUBJECT' => 'demo@example.com',
            'HDRIMG' => 'https://www.example.com/header.jpg',
            'PAYMENTREQUEST_0_SHIPTONAME' => 'John Doe',
            'PAYMENTREQUEST_0_SHIPTOSTREET' => '123 NW Blvd',
            'PAYMENTREQUEST_0_SHIPTOSTREET2' => 'Lynx Lane',
            'PAYMENTREQUEST_0_SHIPTOCITY' => 'Topeka',
            'PAYMENTREQUEST_0_SHIPTOSTATE' => 'KS',
            'PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE' => 'USA',
            'PAYMENTREQUEST_0_SHIPTOZIP' => '66605',
            'PAYMENTREQUEST_0_SHIPTOPHONENUM' => '555-555-5555',
            'EMAIL' => 'test@email.com',
            'BRANDNAME' => 'Dunder Mifflin Paper Company, Inc.',
            'MAXAMT' => 123.45,
            'PAYMENTREQUEST_0_TAXAMT' => null,
            'PAYMENTREQUEST_0_SHIPPINGAMT' => null,
            'PAYMENTREQUEST_0_HANDLINGAMT' => null,
            'PAYMENTREQUEST_0_SHIPDISCAMT' => null,
            'PAYMENTREQUEST_0_INSURANCEAMT' => null,
            'LOGOIMG' => 'https://www.example.com/logo.jpg',
            'CARTBORDERCOLOR' => 'CCCCCC',
            'LOCALECODE' => 'EN',
            'CUSTOMERSERVICENUMBER' => '1-801-FLOWERS',
            'PAYMENTREQUEST_0_SELLERPAYPALACCOUNTID' => 'billing@example.com',
        );

        $this->assertEquals($expected, $this->request->getData());
    }

    public function testGetDataWithItems()
    {
        $this->request->setItems(array(
            array('name' => 'Floppy Disk', 'description' => 'MS-DOS', 'quantity' => 2, 'price' => 10, 'code' => '123456'),
            array('name' => 'CD-ROM', 'description' => 'Windows 95', 'quantity' => 1, 'price' => 40),
        ));

        $data = $this->request->getData();
        $this->assertSame('Floppy Disk', $data['L_PAYMENTREQUEST_0_NAME0']);
        $this->assertSame('MS-DOS', $data['L_PAYMENTREQUEST_0_DESC0']);
        $this->assertSame(2, $data['L_PAYMENTREQUEST_0_QTY0']);
        $this->assertSame('10.00', $data['L_PAYMENTREQUEST_0_AMT0']);
        $this->assertSame('123456', $data['L_PAYMENTREQUEST_0_NUMBER0']);

        $this->assertSame('CD-ROM', $data['L_PAYMENTREQUEST_0_NAME1']);
        $this->assertSame('Windows 95', $data['L_PAYMENTREQUEST_0_DESC1']);
        $this->assertSame(1, $data['L_PAYMENTREQUEST_0_QTY1']);
        $this->assertSame('40.00', $data['L_PAYMENTREQUEST_0_AMT1']);

        $this->assertSame('60.00', $data['PAYMENTREQUEST_0_ITEMAMT']);
    }

    public function testGetDataWithExtraOrderDetails()
    {
        $this->request->initialize(array(
            'amount' => '10.00',
            'currency' => 'AUD',
            'transactionId' => '111',
            'description' => 'Order Description',
            'returnUrl' => 'https://www.example.com/return',
            'cancelUrl' => 'https://www.example.com/cancel',
            'subject' => 'demo@example.com',
            'headerImageUrl' => 'https://www.example.com/header.jpg',
            'noShipping' => 0,
            'allowNote' => 0,
            'addressOverride' => 0,
            'brandName' => 'Dunder Mifflin Paper Company, Inc.',
            'taxAmount' => '2.00',
            'shippingAmount' => '5.00',
            'handlingAmount' => '1.00',
            'shippingDiscount' => '-1.00',
            'insuranceAmount' => '3.00',
        ));

        $data = $this->request->getData();
        $this->assertSame('2.00', $data['PAYMENTREQUEST_0_TAXAMT']);
        $this->assertSame('5.00', $data['PAYMENTREQUEST_0_SHIPPINGAMT']);
        $this->assertSame('1.00', $data['PAYMENTREQUEST_0_HANDLINGAMT']);
        $this->assertSame('-1.00', $data['PAYMENTREQUEST_0_SHIPDISCAMT']);
        $this->assertSame('3.00', $data['PAYMENTREQUEST_0_INSURANCEAMT']);
    }

    public function testHeaderImageUrl()
    {
        $this->assertSame($this->request, $this->request->setHeaderImageUrl('https://www.example.com/header.jpg'));
        $this->assertSame('https://www.example.com/header.jpg', $this->request->getHeaderImageUrl());

        $data = $this->request->getData();
        $this->assertEquals('https://www.example.com/header.jpg', $data['HDRIMG']);
    }

    public function testMaxAmount()
    {
        $this->request->setMaxAmount(321.54);

        $this->assertSame(321.54, $this->request->getMaxAmount());

        $data = $this->request->getData();

        $this->assertSame(321.54, $data['MAXAMT']);
    }

    public function testDataWithCallback()
    {
        $baseData = array(
            'amount' => '10.00',
            'currency' => 'AUD',
            'transactionId' => '111',
            'description' => 'Order Description',
            'returnUrl' => 'https://www.example.com/return',
            'cancelUrl' => 'https://www.example.com/cancel',
            'subject' => 'demo@example.com',
            'headerImageUrl' => 'https://www.example.com/header.jpg',
            'allowNote' => 0,
            'addressOverride' => 0,
            'brandName' => 'Dunder Mifflin Paper Company, Incy.',
        );

        $shippingOptions = array(
            new ShippingOption('First Class', 1.20, true, '1-2 days'),
            new ShippingOption('Second Class', 0.70, false, '3-5 days'),
            new ShippingOption('International', 3.50),
        );

        // with a default callback timeout
        $this->request->initialize(array_merge($baseData, array(
            'callback' => 'https://www.example.com/calculate-shipping',
            'shippingOptions' => $shippingOptions,
        )));

        $data = $this->request->getData();
        $this->assertSame('https://www.example.com/calculate-shipping', $data['CALLBACK']);
        $this->assertSame(ExpressAuthorizeRequest::DEFAULT_CALLBACK_TIMEOUT, $data['CALLBACKTIMEOUT']);

        $this->assertSame('First Class', $data['L_SHIPPINGOPTIONNAME0']);
        $this->assertSame('1.20', $data['L_SHIPPINGOPTIONAMOUNT0']);
        $this->assertSame('1', $data['L_SHIPPINGOPTIONISDEFAULT0']);
        $this->assertSame('1-2 days', $data['L_SHIPPINGOPTIONLABEL0']);

        $this->assertSame('Second Class', $data['L_SHIPPINGOPTIONNAME1']);
        $this->assertSame('0.70', $data['L_SHIPPINGOPTIONAMOUNT1']);
        $this->assertSame('0', $data['L_SHIPPINGOPTIONISDEFAULT1']);
        $this->assertSame('3-5 days', $data['L_SHIPPINGOPTIONLABEL1']);

        $this->assertSame('International', $data['L_SHIPPINGOPTIONNAME2']);
        $this->assertSame('3.50', $data['L_SHIPPINGOPTIONAMOUNT2']);
        $this->assertSame('0', $data['L_SHIPPINGOPTIONISDEFAULT2']);

        // with a defined callback timeout
        $this->request->initialize(array_merge($baseData, array(
            'callback' => 'https://www.example.com/calculate-shipping',
            'callbackTimeout' => 10,
            'shippingOptions' => $shippingOptions,
        )));

        $data = $this->request->getData();
        $this->assertSame('https://www.example.com/calculate-shipping', $data['CALLBACK']);
        $this->assertSame(10, $data['CALLBACKTIMEOUT']);
    }

    public function testDataWithCallbackAndNoDefaultShippingOption()
    {
        $baseData = array(
            'amount' => '10.00',
            'currency' => 'AUD',
            'transactionId' => '111',
            'description' => 'Order Description',
            'returnUrl' => 'https://www.example.com/return',
            'cancelUrl' => 'https://www.example.com/cancel',
            'subject' => 'demo@example.com',
            'headerImageUrl' => 'https://www.example.com/header.jpg',
            'allowNote' => 0,
            'addressOverride' => 0,
            'brandName' => 'Dunder Mifflin Paper Company, Incy.',
        );

        $shippingOptions = array(
            new ShippingOption('First Class', 1.20, false, '1-2 days'),
            new ShippingOption('Second Class', 0.70, false, '3-5 days'),
            new ShippingOption('International', 3.50),
        );

        // with a default callback timeout
        $this->request->initialize(array_merge($baseData, array(
            'callback' => 'https://www.example.com/calculate-shipping',
            'shippingOptions' => $shippingOptions,
        )));

        $this->expectException(InvalidRequestException::class);
        $this->expectExceptionMessage('One of the supplied shipping options must be set as default');

        $this->request->getData();
    }

    public function testNoAmount()
    {
        $baseData = array(// nothing here - should cause a certain exception
        );

        $this->request->initialize($baseData);

        $this->expectException(InvalidRequestException::class);
        $this->expectExceptionMessage('The amount parameter is required');

        $this->request->getData();
    }

    public function testAmountButNoReturnUrl()
    {
        $baseData = array(
            'amount' => 10.00,
        );

        $this->request->initialize($baseData);

        $this->expectException(InvalidRequestException::class);
        $this->expectExceptionMessage('The returnUrl parameter is required');

        $this->request->getData();
    }

    public function testBadCallbackConfiguration()
    {
        $baseData = array(
            'amount' => '10.00',
            'currency' => 'AUD',
            'transactionId' => '111',
            'description' => 'Order Description',
            'returnUrl' => 'https://www.example.com/return',
            'cancelUrl' => 'https://www.example.com/cancel',
            'subject' => 'demo@example.com',
            'headerImageUrl' => 'https://www.example.com/header.jpg',
            'allowNote' => 0,
            'addressOverride' => 0,
            'brandName' => 'Dunder Mifflin Paper Company, Incy.',
        );

        $this->request->initialize(array_merge($baseData, array(
            'callback' => 'https://www.example.com/calculate-shipping',
        )));

        // from the docblock on this exception -
        // Thrown when a request is invalid or missing required fields.
        // callback has been set but no shipping options so expect one of these:
        $this->expectException(InvalidRequestException::class);

        $this->request->getData();
    }

    public function testGetDataWithSingleBillingAgreement()
    {
        $billingAgreement = new BillingAgreement(false, 'Some Stuff');
        $this->request->setBillingAgreement($billingAgreement);

        $data = $this->request->getData();

        $this->assertSame('MerchantInitiatedBillingSingleAgreement', $data['L_BILLINGTYPE0']);
        $this->assertSame('Some Stuff', $data['L_BILLINGAGREEMENTDESCRIPTION0']);
    }

    public function testGetDataWithRecurringBillingAgreement()
    {
        $billingAgreement = new BillingAgreement(true, 'Some Stuff');
        $this->request->setBillingAgreement($billingAgreement);

        $data = $this->request->getData();

        $this->assertSame('MerchantInitiatedBilling', $data['L_BILLINGTYPE0']);
        $this->assertSame('Some Stuff', $data['L_BILLINGAGREEMENTDESCRIPTION0']);
    }

    public function testGetDataWithBillingAgreementOptionalParameters()
    {
        $billingAgreement = new BillingAgreement(true, 'Some Stuff', 'InstantOnly', 'Some custom annotation');
        $this->request->setBillingAgreement($billingAgreement);

        $data = $this->request->getData();

        $this->assertSame('MerchantInitiatedBilling', $data['L_BILLINGTYPE0']);
        $this->assertSame('Some Stuff', $data['L_BILLINGAGREEMENTDESCRIPTION0']);
        $this->assertSame('InstantOnly', $data['L_PAYMENTTYPE0']);
        $this->assertSame('Some custom annotation', $data['L_BILLINGAGREEMENTCUSTOM0']);
    }

    /**
     *
     */
    public function testGetDataWithBillingAgreementWrongPaymentType()
    {
        $this->expectException(InvalidRequestException::class);
        $this->expectExceptionMessage("The 'paymentType' parameter can be only 'Any' or 'InstantOnly'");

        $billingAgreement = new BillingAgreement(false, 'Some Stuff', 'BadType', 'Some custom annotation');
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit