Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F2513425
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
6 KB
Referenced Files
None
Subscribers
None
View Options
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
Details
Attached
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)
Attached To
Mode
R3 roundcubemail
Attached
Detach File
Event Timeline
Log In to Comment