~phablet-team/messaging-framework/maintain-connection-state

« back to all changes in this revision

Viewing changes to tests/unit/messaging/group_manager_test.cpp

  • Committer: Tarmac
  • Author(s): Roberto Mier Escandon
  • Date: 2016-08-16 15:59:06 UTC
  • mfrom: (50.3.14 group-own-permissions)
  • Revision ID: tarmac-20160816155906-4t6hzw1055mr0450
Added flags generic type
Added permissions flags for groups in group_manager, so that every plugin has to fill them with the ones the current user has as participant in the group

NOTE: this MR should be landed along with https://code.launchpad.net/~ningbo-team/ningbo/group-own-permissions/+merge/302308.

Approved by system-apps-ci-bot, Tiago Salem Herrmann.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <gtest/gtest.h>
 
2
#include <gmock/gmock.h>
 
3
 
 
4
#include <messaging/group_manager.h>
 
5
 
 
6
#include <tests/mock_group_manager.h>
 
7
 
 
8
#include <memory>
 
9
 
 
10
namespace testing
 
11
{
 
12
 
 
13
TEST(GroupManagerTest, test_set_group_permissions_by_method)
 
14
{
 
15
    auto group_manager = std::make_shared<NiceMock<MockGroupManager>>();
 
16
    messaging::Flags<messaging::GroupPermissions> permissions = messaging::GroupPermissions::CanChangeTitle |
 
17
                messaging::GroupPermissions::CanSetAdmin;
 
18
    group_manager->set_permissions(permissions);
 
19
 
 
20
    EXPECT_TRUE(group_manager->permissions().is_set(messaging::GroupPermissions::CanChangeTitle));
 
21
    EXPECT_FALSE(group_manager->permissions().is_set(messaging::GroupPermissions::CanDissolve));
 
22
    EXPECT_FALSE(group_manager->permissions().is_set(messaging::GroupPermissions::CanKick));
 
23
    EXPECT_TRUE(group_manager->permissions().is_set(messaging::GroupPermissions::CanSetAdmin));
 
24
}
 
25
 
 
26
TEST(GroupManagerTest, test_set_group_permissions_by_read_reference)
 
27
{
 
28
    //another way of setting the permissions
 
29
    auto group_manager = std::make_shared<NiceMock<MockGroupManager>>();
 
30
    group_manager->permissions() = messaging::GroupPermissions::CanDissolve |
 
31
            messaging::GroupPermissions::CanSetAdmin | messaging::GroupPermissions::CanKick;
 
32
 
 
33
    EXPECT_FALSE(group_manager->permissions().is_set(messaging::GroupPermissions::CanChangeTitle));
 
34
    EXPECT_TRUE(group_manager->permissions().is_set(messaging::GroupPermissions::CanDissolve));
 
35
    EXPECT_TRUE(group_manager->permissions().is_set(messaging::GroupPermissions::CanKick));
 
36
    EXPECT_TRUE(group_manager->permissions().is_set(messaging::GroupPermissions::CanSetAdmin));
 
37
}
 
38
 
 
39
TEST(GroupManagerTest, test_set_group_permissions_by_or_operator)
 
40
{
 
41
    //and another
 
42
    auto group_manager = std::make_shared<NiceMock<MockGroupManager>>();
 
43
    group_manager->permissions() |= messaging::GroupPermissions::CanDissolve;
 
44
    group_manager->permissions() |= messaging::GroupPermissions::CanKick;
 
45
 
 
46
    EXPECT_FALSE(group_manager->permissions().is_set(messaging::GroupPermissions::CanChangeTitle));
 
47
    EXPECT_TRUE(group_manager->permissions().is_set(messaging::GroupPermissions::CanDissolve));
 
48
    EXPECT_TRUE(group_manager->permissions().is_set(messaging::GroupPermissions::CanKick));
 
49
    EXPECT_FALSE(group_manager->permissions().is_set(messaging::GroupPermissions::CanSetAdmin));
 
50
}
 
51
}