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"])
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"])
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"])
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"])
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)
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"])
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"])
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)
def settings(): return render_template("settings.html", users=get_users(), privLvl=privFromUser(session.get('user_id')), user=session.get('user_id'))
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"])
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"])