Page MenuHomePhorge

No OneTemporary

Size
6 KB
Referenced Files
None
Subscribers
None
diff --git a/.ci/install.sh b/.ci/install.sh
index 748faf3cf..4f9beb5c0 100755
--- a/.ci/install.sh
+++ b/.ci/install.sh
@@ -1,29 +1,29 @@
#!/bin/bash
# The script is intended for use on Travis with Trusty distribution
DIR=$(dirname $0)
# Enable xdebug for code coverage
if [ "$CODE_COVERAGE" != 1 ]; then phpenv config-rm xdebug.ini || true; fi
cd $DIR/..
cp composer.json-dist composer.json
# Add laravel/dusk for Browser tests
if [ "$BROWSER_TESTS" = 1 ]; then composer require "laravel/dusk:~5.9.1" --no-update; fi
# Remove qr-code as it requires php-gd which is not always available on Travis
# and we don't really need it for tests
-composer remove endroid/qr-code --no-update
+# composer remove endroid/qr-code --no-update
# Install PHP dependencies
composer install --prefer-dist
# Install Less for Elastic CSS compilation
npm install --force -g less
npm install --force -g less-plugin-clean-css
# Roundcube tests and instance configuration
cp .ci/config-test.inc.php config/config-test.inc.php
diff --git a/tests/Actions/Contacts/Copy.php b/tests/Actions/Contacts/Copy.php
index f50253af8..666bce0c0 100644
--- a/tests/Actions/Contacts/Copy.php
+++ b/tests/Actions/Contacts/Copy.php
@@ -1,127 +1,119 @@
<?php
/**
* Test class to test rcmail_action_contacts_copy
*
* @package Tests
*/
class Actions_Contacts_Copy extends ActionTestCase
{
/**
* Test copying pre-check errors
*/
function test_copy_pre_check_errors()
{
$action = new rcmail_action_contacts_copy;
$output = $this->initOutput(rcmail_action::MODE_AJAX, 'contacts', 'copy');
$this->assertInstanceOf('rcmail_action', $action);
$this->assertTrue($action->checks());
- /*
- self::initDB('contacts');
-
- $db = rcmail::get_instance()->get_dbh();
- $query = $db->query('SELECT `contact_id` FROM `contacts` WHERE `user_id` = 1 LIMIT 1');
- $result = $db->fetch_assoc($query);
- */
-
// Missing target addressbook
$_POST = [
'_cid' => 1,
'_source' => '0',
];
$this->runAndAssert($action, OutputJsonMock::E_EXIT);
$result = $output->getOutput();
$this->assertSame(['Content-Type: application/json; charset=UTF-8'], $output->headers);
$this->assertSame('copy', $result['action']);
$this->assertSame('this.display_message("Could not copy any contacts.","error",0);', trim($result['exec']));
// target = source
$_POST['_to'] = '0';
$this->runAndAssert($action, OutputJsonMock::E_EXIT);
$result = $output->getOutput();
$this->assertSame(['Content-Type: application/json; charset=UTF-8'], $output->headers);
$this->assertSame('copy', $result['action']);
$this->assertSame('this.display_message("Could not copy any contacts.","error",0);', trim($result['exec']));
// target readonly
$_POST['_to'] = rcube_addressbook::TYPE_RECIPIENT;
$this->runAndAssert($action, OutputJsonMock::E_EXIT);
$result = $output->getOutput();
$this->assertSame(['Content-Type: application/json; charset=UTF-8'], $output->headers);
$this->assertSame('copy', $result['action']);
$this->assertSame('this.display_message("Could not copy any contacts.","error",0);', trim($result['exec']));
// Non-existing contact
$_POST = [
'_cid' => 100,
'_source' => rcube_addressbook::TYPE_RECIPIENT,
'_to' => '0',
];
$this->runAndAssert($action, OutputJsonMock::E_EXIT);
$result = $output->getOutput();
$this->assertSame(['Content-Type: application/json; charset=UTF-8'], $output->headers);
$this->assertSame('copy', $result['action']);
$this->assertSame('this.display_message("Could not copy any contacts.","error",0);', trim($result['exec']));
}
/**
* Test successful copying a contact
*/
function test_copy_success()
{
$action = new rcmail_action_contacts_copy;
$output = $this->initOutput(rcmail_action::MODE_AJAX, 'contacts', 'copy');
$this->assertTrue($action->checks());
self::initDB('contacts');
$rcmail = rcmail::get_instance();
$source = $rcmail->get_address_book(rcube_addressbook::TYPE_RECIPIENT);
$cid = $rcmail->contact_create(['email' => 'test@recipient.com'], $source);
// Missing target addressbook
$_POST = [
'_cid' => $cid,
'_source' => rcube_addressbook::TYPE_RECIPIENT,
'_to' => '0',
];
$this->runAndAssert($action, OutputJsonMock::E_EXIT);
$result = $output->getOutput();
$this->assertSame(['Content-Type: application/json; charset=UTF-8'], $output->headers);
$this->assertSame('copy', $result['action']);
$this->assertSame('this.display_message("Successfully copied 1 contacts.","confirmation",0);', trim($result['exec']));
// Check that the contact has been really added to the contacts db
$db = $rcmail->get_dbh();
$query = $db->query('SELECT count(*) AS cnt FROM `contacts` WHERE `user_id` = 1 AND `email` = ?', 'test@recipient.com');
$result = $db->fetch_assoc($query);
$this->assertSame('1', $result['cnt']);
}
/**
* Test copying a contact with group assignment
*/
function test_copy_with_group()
{
$this->markTestIncomplete();
}
}
diff --git a/tests/Actions/Login/Oauth.php b/tests/Actions/Login/Oauth.php
index 3932214b4..903f2717e 100644
--- a/tests/Actions/Login/Oauth.php
+++ b/tests/Actions/Login/Oauth.php
@@ -1,19 +1,28 @@
<?php
/**
* Test class to test rcmail_action_login_oauth
*
* @package Tests
*/
class Actions_Login_Oauth extends ActionTestCase
{
/**
- * Class constructor
+ * Test run
*/
- function test_class()
+ function test_run_login_redirect()
{
- $object = new rcmail_action_login_oauth;
+ $action = new rcmail_action_login_oauth;
+ $output = $this->initOutput(rcmail_action::MODE_HTTP, 'login', '');
- $this->assertInstanceOf('rcmail_action', $object);
+ $this->assertInstanceOf('rcmail_action', $action);
+ $this->assertTrue($action->checks());
+
+ $this->runAndAssert($action, OutputHtmlMock::E_EXIT);
+
+ $result = $output->getOutput();
+
+ $this->assertSame("ERROR: Missing required OAuth config options 'oauth_auth_uri', 'oauth_client_id'", trim(StderrMock::$output));
+ $this->assertSame(null, $output->getOutput());
}
}

File Metadata

Mime Type
text/x-diff
Expires
Sun, Apr 19, 1:16 PM (1 d, 16 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
435871
Default Alt Text
(6 KB)

Event Timeline