aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/SemanticScuttle/Service/User.php21
-rw-r--r--tests/UserTest.php15
2 files changed, 34 insertions, 2 deletions
diff --git a/src/SemanticScuttle/Service/User.php b/src/SemanticScuttle/Service/User.php
index 8b72274..73b71d6 100644
--- a/src/SemanticScuttle/Service/User.php
+++ b/src/SemanticScuttle/Service/User.php
@@ -368,13 +368,15 @@ class SemanticScuttle_Service_User extends SemanticScuttle_DbService
return false;
}
- if ($row =& $this->db->sql_fetchrow($dbresult)) {
+ $row = $this->db->sql_fetchrow($dbresult);
+ $this->db->sql_freeresult($dbresult);
+
+ if ($row) {
$id = $_SESSION[$this->getSessionKey()] = $row[$this->getFieldName('primary')];
if ($remember) {
$cookie = $id .':'. md5($username.$password);
setcookie($this->cookiekey, $cookie, time() + $this->cookietime, '/');
}
- $this->db->sql_freeresult($dbresult);
return true;
} else {
return false;
@@ -593,6 +595,21 @@ class SemanticScuttle_Service_User extends SemanticScuttle_DbService
}
+
+ /**
+ * Delete all bookmarks.
+ * Mainly used in unit tests.
+ *
+ * @return void
+ */
+ public function deleteAll()
+ {
+ $query = 'TRUNCATE TABLE `'. $this->getTableName() .'`';
+ $this->db->sql_query($query);
+ }
+
+
+
function sanitisePassword($password) {
return sha1(trim($password));
}
diff --git a/tests/UserTest.php b/tests/UserTest.php
index 5c905a0..513011b 100644
--- a/tests/UserTest.php
+++ b/tests/UserTest.php
@@ -103,6 +103,21 @@ class UserTest extends TestBase
$this->assertEquals($uid2, $user['uId']);
}
+
+
+ /**
+ * Test login() function with invalid creditentials
+ *
+ * @return void
+ */
+ public function testLoginInvalid()
+ {
+ $this->us->deleteAll();
+ $this->assertFalse(
+ $this->us->login('doesnot', 'exist', false)
+ );
+ }
+
}