コード例 #1
0
ファイル: test_groups.py プロジェクト: benjaminp/grouper
def test_graph_desc_to_ances(session, graph, users, groups):  # noqa
    """ Test adding members where all descendants already exist."""

    setup_desc_to_ances(session, users, groups)
    session.commit()
    graph.update_from_db(session)

    assert get_users(graph, "team-sre") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "tech-ops") == set(["*****@*****.**", "*****@*****.**"])

    assert get_users(graph, "team-infra") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "team-infra", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "all-teams") == set(["*****@*****.**", "*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["*****@*****.**"])

    assert get_groups(graph, "*****@*****.**") == set(["team-sre", "all-teams", "tech-ops",
            "team-infra"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-sre", "tech-ops", "team-infra"])

    assert get_groups(graph, "*****@*****.**") == set(["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "*****@*****.**") == set(["all-teams"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["all-teams"])
コード例 #2
0
ファイル: test_groups.py プロジェクト: tomeara-quora/merou
def test_graph_desc_to_ances(session, graph, users, groups):  # noqa
    """ Test adding members where all descendants already exist."""

    setup_desc_to_ances(session, users, groups)
    session.commit()
    graph.update_from_db(session)

    assert get_users(graph, "team-sre") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "tech-ops") == set(["*****@*****.**", "*****@*****.**"])

    assert get_users(graph, "team-infra") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "team-infra", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "all-teams") == set(
        ["*****@*****.**", "*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["*****@*****.**"])

    assert get_groups(graph, "*****@*****.**") == set(
        ["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "*****@*****.**",
                      cutoff=1) == set(["team-sre", "tech-ops", "team-infra"])

    assert get_groups(graph, "*****@*****.**") == set(
        ["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "*****@*****.**",
                      cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "*****@*****.**") == set(["all-teams"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["all-teams"])
コード例 #3
0
ファイル: test_groups.py プロジェクト: benjaminp/grouper
def test_graph_cycle_direct(session, graph, users, groups):  # noqa
    """ Test adding members where all descendants already exist."""

    add_member(groups["team-sre"], users["*****@*****.**"])
    add_member(groups["tech-ops"], users["*****@*****.**"])

    add_member(groups["team-sre"], groups["tech-ops"])
    add_member(groups["tech-ops"], groups["team-sre"])

    session.commit()
    graph.update_from_db(session)
    assert get_users(graph, "team-sre") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "team-sre", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "tech-ops") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "tech-ops", cutoff=1) == set(["*****@*****.**"])

    assert get_groups(graph, "*****@*****.**") == set(["team-sre", "tech-ops"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-sre"])

    assert get_groups(graph, "*****@*****.**") == set(["team-sre", "tech-ops"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["tech-ops"])
コード例 #4
0
ファイル: test_groups.py プロジェクト: tomeara-quora/merou
def test_graph_cycle_direct(session, graph, users, groups):  # noqa
    """ Test adding members where all descendants already exist."""

    add_member(groups["team-sre"], users["*****@*****.**"])
    add_member(groups["tech-ops"], users["*****@*****.**"])

    add_member(groups["team-sre"], groups["tech-ops"])
    add_member(groups["tech-ops"], groups["team-sre"])

    session.commit()
    graph.update_from_db(session)
    assert get_users(graph, "team-sre") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "team-sre", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "tech-ops") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "tech-ops", cutoff=1) == set(["*****@*****.**"])

    assert get_groups(graph, "*****@*****.**") == set(["team-sre", "tech-ops"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-sre"])

    assert get_groups(graph, "*****@*****.**") == set(["team-sre", "tech-ops"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["tech-ops"])
コード例 #5
0
ファイル: test_groups.py プロジェクト: benjaminp/grouper
def test_graph_cycle_indirect(session, graph, users, groups):  # noqa
    """ Test adding a member that will create a cycle.

        gary         zay            testuser
         |            |                |
        sre <----- tech-ops <----- team-infra <--
         |                                       |
         |                                       |
          --------> all-teams --------------------

    """

    add_member(groups["team-sre"], users["*****@*****.**"])
    add_member(groups["tech-ops"], users["*****@*****.**"])
    add_member(groups["team-infra"], users["*****@*****.**"])

    add_member(groups["team-sre"], groups["tech-ops"])
    add_member(groups["tech-ops"], groups["team-infra"])
    add_member(groups["team-infra"], groups["all-teams"])

    add_member(groups["all-teams"], groups["team-sre"])

    session.commit()
    graph.update_from_db(session)
    all_users = set(["*****@*****.**", "*****@*****.**", "*****@*****.**"])
    all_groups = set(["team-sre", "all-teams", "tech-ops", "team-infra"])

    assert get_users(graph, "team-sre") == all_users
    assert get_users(graph, "team-sre", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "tech-ops") == all_users
    assert get_users(graph, "tech-ops", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "team-infra") == all_users
    assert get_users(graph, "team-infra", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "all-teams") == all_users
    assert get_users(graph, "all-teams", cutoff=1) == set([])

    assert get_groups(graph, "*****@*****.**") == all_groups
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-sre"])

    assert get_groups(graph, "*****@*****.**") == all_groups
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["tech-ops"])

    assert get_groups(graph, "*****@*****.**") == all_groups
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-infra"])
コード例 #6
0
ファイル: test_groups.py プロジェクト: tomeara-quora/merou
def test_graph_cycle_indirect(session, graph, users, groups):  # noqa
    """ Test adding a member that will create a cycle.

        gary         zay            testuser
         |            |                |
        sre <----- tech-ops <----- team-infra <--
         |                                       |
         |                                       |
          --------> all-teams --------------------

    """

    add_member(groups["team-sre"], users["*****@*****.**"])
    add_member(groups["tech-ops"], users["*****@*****.**"])
    add_member(groups["team-infra"], users["*****@*****.**"])

    add_member(groups["team-sre"], groups["tech-ops"])
    add_member(groups["tech-ops"], groups["team-infra"])
    add_member(groups["team-infra"], groups["all-teams"])

    add_member(groups["all-teams"], groups["team-sre"])

    session.commit()
    graph.update_from_db(session)
    all_users = set(["*****@*****.**", "*****@*****.**", "*****@*****.**"])
    all_groups = set(["team-sre", "all-teams", "tech-ops", "team-infra"])

    assert get_users(graph, "team-sre") == all_users
    assert get_users(graph, "team-sre", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "tech-ops") == all_users
    assert get_users(graph, "tech-ops", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "team-infra") == all_users
    assert get_users(graph, "team-infra", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "all-teams") == all_users
    assert get_users(graph, "all-teams", cutoff=1) == set([])

    assert get_groups(graph, "*****@*****.**") == all_groups
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-sre"])

    assert get_groups(graph, "*****@*****.**") == all_groups
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["tech-ops"])

    assert get_groups(graph, "*****@*****.**") == all_groups
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-infra"])
コード例 #7
0
    def test_delta_time(self):
        """
        Test the calcuation of addition of the time bins in the user item sequence
        """

        dataset_path = 'data/ml-1m.txt'
        User, usernum, itemnum, ratingum = util.get_users(dataset_path)
        self.assertEqual(usernum, 6040)
        self.assertEqual(itemnum, 3416)

        # Test log scale
        min_timedelta, max_timedelta = util.get_delta_range(User,
                                                            max_percentile=90)
        self.assertEqual(min_timedelta, 0)
        self.assertEqual(max_timedelta, 58896613)

        # Test delta_time
        User = util.add_time_bin(User, log_scale=True)
        self.assertEqual(User[1][0].time_bin, 147)

        User = util.add_time_bin(User, log_scale=False)
        self.assertEqual(User[1][0].time_bin, 3)
コード例 #8
0
ファイル: test_groups.py プロジェクト: tomeara-quora/merou
def test_graph_add_member_existing(session, graph, users, groups):  # noqa
    """ Test adding members to an existing relationship."""

    add_member(groups["team-sre"], users["*****@*****.**"], role="owner")
    add_member(groups["tech-ops"], users["*****@*****.**"], role="owner")

    add_member(groups["team-infra"], users["*****@*****.**"], role="owner")
    add_member(groups["team-infra"], groups["team-sre"])
    add_member(groups["team-infra"], groups["tech-ops"])

    add_member(groups["all-teams"], users["*****@*****.**"], role="owner")
    add_member(groups["all-teams"], groups["team-infra"])

    add_member(groups["team-sre"], users["*****@*****.**"])
    add_member(groups["tech-ops"], users["*****@*****.**"])

    session.commit()
    graph.update_from_db(session)

    assert get_users(graph, "team-sre") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "tech-ops") == set(["*****@*****.**", "*****@*****.**"])

    assert get_users(graph, "team-infra") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "team-infra", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "all-teams") == set(
        ["*****@*****.**", "*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["*****@*****.**"])

    assert get_groups(graph, "*****@*****.**") == set(
        ["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "*****@*****.**",
                      cutoff=1) == set(["team-sre", "tech-ops", "team-infra"])

    assert get_groups(graph, "*****@*****.**") == set(
        ["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "*****@*****.**",
                      cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "*****@*****.**") == set(["all-teams"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["all-teams"])
コード例 #9
0
ファイル: test_groups.py プロジェクト: benjaminp/grouper
def test_graph_add_member_existing(session, graph, users, groups):  # noqa
    """ Test adding members to an existing relationship."""

    add_member(groups["team-sre"], users["*****@*****.**"], role="owner")
    add_member(groups["tech-ops"], users["*****@*****.**"], role="owner")

    add_member(groups["team-infra"], users["*****@*****.**"], role="owner")
    add_member(groups["team-infra"], groups["team-sre"])
    add_member(groups["team-infra"], groups["tech-ops"])

    add_member(groups["all-teams"], users["*****@*****.**"], role="owner")
    add_member(groups["all-teams"], groups["team-infra"])

    add_member(groups["team-sre"], users["*****@*****.**"])
    add_member(groups["tech-ops"], users["*****@*****.**"])

    session.commit()
    graph.update_from_db(session)

    assert get_users(graph, "team-sre") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "tech-ops") == set(["*****@*****.**", "*****@*****.**"])

    assert get_users(graph, "team-infra") == set(["*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "team-infra", cutoff=1) == set(["*****@*****.**"])

    assert get_users(graph, "all-teams") == set(["*****@*****.**", "*****@*****.**", "*****@*****.**"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["*****@*****.**"])

    assert get_groups(graph, "*****@*****.**") == set(["team-sre", "all-teams", "tech-ops",
            "team-infra"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-sre", "tech-ops", "team-infra"])

    assert get_groups(graph, "*****@*****.**") == set(["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "*****@*****.**") == set(["all-teams"])
    assert get_groups(graph, "*****@*****.**", cutoff=1) == set(["all-teams"])
コード例 #10
0

print 'loading artists in {}'.format(f_artists)
sys.stdout.flush()
artists = util.get_artists(f_artists)
a2i = util.convert_to_ind(artists)


print 'default ordering by popularity'
sys.stdout.flush()
artists_ordered = util.sort_dict_dec(util.artist_to_count(a2i, f_user_artists))


print 'loading all users in {}'.format(f_user_artists)
sys.stdout.flush()
users = np.array(util.get_users(f_user_artists))
# u2i = util.convert_to_ind(users)


print 'creating cross-validation splits'
sys.stdout.flush()
user_split = cross_validation.ShuffleSplit(
    len(users), 1, test_size=0.25, random_state=0)


for t_ind, v_ind in user_split:

    print 'loading training users and converting to indices'
    sys.stdout.flush()
    users_t = users[t_ind]
    u2i = util.convert_to_ind(users_t)
コード例 #11
0
def settings():
    return render_template("settings.html",
                           users=get_users(),
                           privLvl=privFromUser(session.get('user_id')),
                           user=session.get('user_id'))
コード例 #12
0
ファイル: test_groups.py プロジェクト: zorkian/grouper
def test_graph_with_removes(session, graph, users, groups):  # noqa
    """ Test adding members where all descendants already exist."""

    setup_desc_to_ances(session, users, groups)

    groups["team-infra"].revoke_member(users["gary"], users["gary"],
                                       "Unit Testing")
    session.commit()
    graph.update_from_db(session)
    assert get_users(graph, "team-sre") == set(["gary", "zay"])
    assert get_users(graph, "tech-ops") == set(["gary", "zay"])

    assert get_users(graph, "team-infra") == set(["gary", "zay"])
    assert get_users(graph, "team-infra", cutoff=1) == set()

    assert get_users(graph, "all-teams") == set(["gary", "zay", "testuser"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["testuser"])

    assert get_groups(graph, "gary") == set(
        ["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "gary", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "zay") == set(
        ["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "zay", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "testuser") == set(["all-teams"])
    assert get_groups(graph, "testuser", cutoff=1) == set(["all-teams"])

    groups["all-teams"].revoke_member(users["gary"], groups["team-infra"],
                                      "Unit Testing")
    session.commit()
    graph.update_from_db(session)
    assert get_users(graph, "team-sre") == set(["gary", "zay"])
    assert get_users(graph, "tech-ops") == set(["gary", "zay"])

    assert get_users(graph, "team-infra") == set(["gary", "zay"])
    assert get_users(graph, "team-infra", cutoff=1) == set([])

    assert get_users(graph, "all-teams") == set(["testuser"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["testuser"])

    assert get_groups(graph,
                      "gary") == set(["team-sre", "tech-ops", "team-infra"])
    assert get_groups(graph, "gary", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph,
                      "zay") == set(["team-sre", "tech-ops", "team-infra"])
    assert get_groups(graph, "zay", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "testuser") == set(["all-teams"])
    assert get_groups(graph, "testuser", cutoff=1) == set(["all-teams"])

    groups["team-infra"].revoke_member(users["gary"], groups["tech-ops"],
                                       "Unit Testing")
    session.commit()
    graph.update_from_db(session)
    assert get_users(graph, "team-sre") == set(["gary", "zay"])
    assert get_users(graph, "tech-ops") == set(["gary", "zay"])

    assert get_users(graph, "team-infra") == set(["gary", "zay"])
    assert get_users(graph, "team-infra", cutoff=1) == set([])

    assert get_users(graph, "all-teams") == set(["testuser"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["testuser"])

    assert get_groups(graph,
                      "gary") == set(["team-sre", "tech-ops", "team-infra"])
    assert get_groups(graph, "gary", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph,
                      "zay") == set(["team-sre", "tech-ops", "team-infra"])
    assert get_groups(graph, "zay", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "testuser") == set(["all-teams"])
    assert get_groups(graph, "testuser", cutoff=1) == set(["all-teams"])
コード例 #13
0
ファイル: test_groups.py プロジェクト: hendawy/grouper
def test_graph_with_removes(session, graph, users, groups):  # noqa
    """ Test adding members where all descendants already exist."""

    setup_desc_to_ances(session, users, groups)

    groups["team-infra"].revoke_member(users["gary"], users["gary"], "Unit Testing")
    session.commit()
    graph.update_from_db(session)
    assert get_users(graph, "team-sre") == set(["gary", "zay"])
    assert get_users(graph, "tech-ops") == set(["gary", "zay"])

    assert get_users(graph, "team-infra") == set(["gary", "zay"])
    assert get_users(graph, "team-infra", cutoff=1) == set()

    assert get_users(graph, "all-teams") == set(["gary", "zay", "testuser"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["testuser"])

    assert get_groups(graph, "gary") == set(["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "gary", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "zay") == set(["team-sre", "all-teams", "tech-ops", "team-infra"])
    assert get_groups(graph, "zay", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "testuser") == set(["all-teams"])
    assert get_groups(graph, "testuser", cutoff=1) == set(["all-teams"])

    groups["all-teams"].revoke_member(users["gary"], groups["team-infra"], "Unit Testing")
    session.commit()
    graph.update_from_db(session)
    assert get_users(graph, "team-sre") == set(["gary", "zay"])
    assert get_users(graph, "tech-ops") == set(["gary", "zay"])

    assert get_users(graph, "team-infra") == set(["gary", "zay"])
    assert get_users(graph, "team-infra", cutoff=1) == set([])

    assert get_users(graph, "all-teams") == set(["testuser"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["testuser"])

    assert get_groups(graph, "gary") == set(["team-sre", "tech-ops", "team-infra"])
    assert get_groups(graph, "gary", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "zay") == set(["team-sre", "tech-ops", "team-infra"])
    assert get_groups(graph, "zay", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "testuser") == set(["all-teams"])
    assert get_groups(graph, "testuser", cutoff=1) == set(["all-teams"])

    groups["team-infra"].revoke_member(users["gary"], groups["tech-ops"], "Unit Testing")
    session.commit()
    graph.update_from_db(session)
    assert get_users(graph, "team-sre") == set(["gary", "zay"])
    assert get_users(graph, "tech-ops") == set(["gary", "zay"])

    assert get_users(graph, "team-infra") == set(["gary", "zay"])
    assert get_users(graph, "team-infra", cutoff=1) == set([])

    assert get_users(graph, "all-teams") == set(["testuser"])
    assert get_users(graph, "all-teams", cutoff=1) == set(["testuser"])

    assert get_groups(graph, "gary") == set(["team-sre", "tech-ops", "team-infra"])
    assert get_groups(graph, "gary", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "zay") == set(["team-sre", "tech-ops", "team-infra"])
    assert get_groups(graph, "zay", cutoff=1) == set(["team-sre", "tech-ops"])

    assert get_groups(graph, "testuser") == set(["all-teams"])
    assert get_groups(graph, "testuser", cutoff=1) == set(["all-teams"])