Exemplo n.º 1
0
def test_dont_containse_count():
    input_json = {'id': 111}
    input_date = datetime.datetime.now()
    out_group_members_count = create_from_json_with_datetime(
        input_json, input_date)

    assert out_group_members_count is None
Exemplo n.º 2
0
def test_json_is_none_and_link_is_none():
    input_json = None
    input_date = None
    out_group_members_count = create_from_json_with_datetime(
        input_json, input_date)

    assert out_group_members_count is None
Exemplo n.º 3
0
def test_datetime_is_none():
    input_json = {'id': 111, 'members_count': 111}
    input_date = None
    out_group_members_count = create_from_json_with_datetime(
        input_json, input_date)

    assert out_group_members_count is None
Exemplo n.º 4
0
def test_json_is_none():
    input_json = None
    input_date = datetime.datetime.now()
    out_group_members_count = create_from_json_with_datetime(
        input_json, input_date)

    assert out_group_members_count is None
Exemplo n.º 5
0
def test_containse_other_fields():
    input_json = {'id': 111, 'members_count': 111, 'other': 'other'}
    input_date = datetime.datetime.now()
    group_member_count = GroupMembersCount(count=111,
                                           group_id=111,
                                           date=input_date)
    output_group_member_count = create_from_json_with_datetime(
        input_json, input_date)

    assert group_member_count.group_id == output_group_member_count.group_id and \
        group_member_count.count == output_group_member_count.count and \
        group_member_count.date == output_group_member_count.date
Exemplo n.º 6
0
def group_mining(group_link):
    """
    Maining data of members count of group
    :param group_link: link of group
    :raise: error with parse link and error from api
    """
    group_name = get_group_name_from_link(group_link)
    if len(group_name) == 0:
        raise Exception(f"faild with parse link of group: {group_link}")

    group_info = group_api_client.get_group_data(
        group_name, 
        additional=group_api_client.Field.MEMBER_COUNT_FILED
    )

    if 'error' in group_info:
        raise Exception(group_info['error'])
    
    db_group = gt.create_from_json_with_link(group_info, group_link)
    if group_dao.read_by_id(db_group.id) is None:
        group_dao.persist(db_group)
    
    db_group_member_count = gmct.create_from_json_with_datetime(group_info, datetime.now())
    group_members_count_dao.persist(db_group_member_count)