Ejemplo n.º 1
0
def test_remove_subscription(fx_stages, fx_subscription):
    a, b = fx_stages
    with a:
        s = SubscriptionList()
        s.add(fx_subscription)
        a.subscriptions = s
    with a:
        assert fx_subscription in a.subscriptions
    with b:
        assert fx_subscription in b.subscriptions
    added = Subscription(
        label='Added',
        feed_uri='http://example.com/atom.xml',
        alternate_uri='http://example.com/'
    )
    with a:
        a_s = a.subscriptions
        a_s.remove(fx_subscription)
        a.subscriptions = a_s
        with b:
            b_s = b.subscriptions
            b_s.add(added)
            b.subscriptions = b_s
    with a:
        assert added in a.subscriptions
        assert fx_subscription not in a.subscriptions
    with b:
        assert added in b.subscriptions
        assert fx_subscription not in b.subscriptions
Ejemplo n.º 2
0
def test_remove_category(fx_stages, fx_subscription):
    a, b = fx_stages
    with a:
        s = SubscriptionList()
        c = Category(label='To be deleted')
        c.add(fx_subscription)
        s.add(c)
        a.subscriptions = s
    with a:
        assert c in a.subscriptions
        assert fx_subscription in a.subscriptions.recursive_subscriptions
    with b:
        assert c in b.subscriptions
        assert fx_subscription in b.subscriptions.recursive_subscriptions
    added = Category(label='Added')
    with a:
        a_s = a.subscriptions
        a_s.remove(c)
        a.subscriptions = a_s
        with b:
            b_s = b.subscriptions
            b_s.add(added)
            b.subscriptions = b_s
    with a:
        assert added in a.subscriptions
        assert c not in a.subscriptions
        assert fx_subscription not in a.subscriptions.recursive_subscriptions
    with b:
        assert added in b.subscriptions
        assert c not in b.subscriptions
        assert fx_subscription not in b.subscriptions.recursive_subscriptions
Ejemplo n.º 3
0
def test_remove_category(fx_stages, fx_subscription):
    a, b = fx_stages
    with a:
        s = SubscriptionList()
        c = Category(label='To be deleted')
        c.add(fx_subscription)
        s.add(c)
        a.subscriptions = s
    with a:
        assert c in a.subscriptions
        assert fx_subscription in a.subscriptions.recursive_subscriptions
    with b:
        assert c in b.subscriptions
        assert fx_subscription in b.subscriptions.recursive_subscriptions
    added = Category(label='Added')
    with a:
        a_s = a.subscriptions
        a_s.remove(c)
        a.subscriptions = a_s
        with b:
            b_s = b.subscriptions
            b_s.add(added)
            b.subscriptions = b_s
    with a:
        assert added in a.subscriptions
        assert c not in a.subscriptions
        assert fx_subscription not in a.subscriptions.recursive_subscriptions
    with b:
        assert added in b.subscriptions
        assert c not in b.subscriptions
        assert fx_subscription not in b.subscriptions.recursive_subscriptions
Ejemplo n.º 4
0
def test_remove_subscription(fx_stages, fx_subscription):
    a, b = fx_stages
    with a:
        s = SubscriptionList()
        s.add(fx_subscription)
        a.subscriptions = s
    with a:
        assert fx_subscription in a.subscriptions
    with b:
        assert fx_subscription in b.subscriptions
    added = Subscription(
        label='Added',
        feed_uri='http://example.com/atom.xml',
        alternate_uri='http://example.com/'
    )
    with a:
        a_s = a.subscriptions
        a_s.remove(fx_subscription)
        a.subscriptions = a_s
        with b:
            b_s = b.subscriptions
            b_s.add(added)
            b.subscriptions = b_s
    with a:
        assert added in a.subscriptions
        assert fx_subscription not in a.subscriptions
    with b:
        assert added in b.subscriptions
        assert fx_subscription not in b.subscriptions
Ejemplo n.º 5
0
def test_count_duplicated_url(fx_subscription):
    subs = SubscriptionList()
    subs.add(fx_subscription)
    assert len(subs) == 1
    assert list(subs) == [fx_subscription]
    subs.add(fx_subscription)
    assert len(subs) == 1
    assert list(subs) == [fx_subscription]
Ejemplo n.º 6
0
def test_count_duplicated_url(fx_subscription):
    subs = SubscriptionList()
    subs.add(fx_subscription)
    assert len(subs) == 1
    assert list(subs) == [fx_subscription]
    subs.add(fx_subscription)
    assert len(subs) == 1
    assert list(subs) == [fx_subscription]
Ejemplo n.º 7
0
def test_count_after_remove(fx_subscription):
    subs = SubscriptionList()
    subs.add(fx_subscription)
    assert len(subs) == 1
    assert list(subs) == [fx_subscription]
    subs.discard(fx_subscription)
    assert not subs
    assert len(subs) == 0
    assert list(subs) == []
Ejemplo n.º 8
0
def test_count_after_remove(fx_subscription):
    subs = SubscriptionList()
    subs.add(fx_subscription)
    assert len(subs) == 1
    assert list(subs) == [fx_subscription]
    subs.discard(fx_subscription)
    assert not subs
    assert len(subs) == 0
    assert list(subs) == []
Ejemplo n.º 9
0
def test_detect_subcategory_changes(fx_stages):
    stage, _ = fx_stages
    subs = SubscriptionList()
    category = Category(label='first-order')
    subcategory = Category(label='second-order')
    category.add(subcategory)
    subs.add(category)
    assert not subs.categories['first-order'].categories['second-order']
    with stage:
        stage.subscriptions = subs
        assert not (stage.subscriptions.categories['first-order']
                                       .categories['second-order'])
    subcategory.add(Category(label='added'))
    assert subs.categories['first-order'].categories['second-order']
    with stage:
        stage.subscriptions = subs
        assert (stage.subscriptions.categories['first-order']
                                   .categories['second-order'])
Ejemplo n.º 10
0
def test_detect_subcategory_changes(fx_stages):
    stage, _ = fx_stages
    subs = SubscriptionList()
    category = Category(label='first-order')
    subcategory = Category(label='second-order')
    category.add(subcategory)
    subs.add(category)
    assert not subs.categories['first-order'].categories['second-order']
    with stage:
        stage.subscriptions = subs
        assert not (stage.subscriptions.categories['first-order']
                                       .categories['second-order'])
    subcategory.add(Category(label='added'))
    assert subs.categories['first-order'].categories['second-order']
    with stage:
        stage.subscriptions = subs
        assert (stage.subscriptions.categories['first-order']
                                   .categories['second-order'])
Ejemplo n.º 11
0
Archivo: web_test.py Proyecto: 0hoo/web
def xmls(request, fx_test_stage):
    stage = fx_test_stage
    subscriptions = SubscriptionList()
    categoryone = Category(label='categoryone', _title='categoryone')
    categorytwo = Category(label='categorytwo', _title='categorytwo')
    categorythree = Category(label='categorythree', _title='categorythree')
    subscriptions.add(categoryone)
    subscriptions.add(categorythree)
    categoryone.add(categorytwo)
    pair = {
        'http://feedone.com/feed/atom/': categoryone,
        'http://feedtwo.com/feed/atom/': categorytwo,
        'http://feedthree.com/feed/atom/': subscriptions,
        'http://feedfour.com/feed/atom/': categorythree
    }
    generator = crawl(pair.keys(), 4)
    with stage:
        for feed_url, feed, hints in generator:
            sub = pair[feed_url].subscribe(feed)
            stage.feeds[sub.feed_id] = feed
        stage.subscriptions = subscriptions
Ejemplo n.º 12
0
def xmls(request, fx_test_stage):
    stage = fx_test_stage
    subscriptions = SubscriptionList()
    categoryone = Category(label='categoryone', _title='categoryone')
    categorytwo = Category(label='categorytwo', _title='categorytwo')
    categorythree = Category(label='categorythree', _title='categorythree')
    subscriptions.add(categoryone)
    subscriptions.add(categorythree)
    categoryone.add(categorytwo)
    pair = {
        'http://feedone.com/feed/atom/': categoryone,
        'http://feedtwo.com/feed/atom/': categorytwo,
        'http://feedthree.com/feed/atom/': subscriptions,
        'http://feedfour.com/feed/atom/': categorythree
    }
    generator = crawl(pair.keys(), 4)
    with stage:
        for feed_url, feed, hints in generator:
            sub = pair[feed_url].subscribe(feed)
            stage.feeds[sub.feed_id] = feed
        stage.subscriptions = subscriptions
Ejemplo n.º 13
0
def test_subscription_set_categories_subscriptions():
    subs = SubscriptionList()
    subs.add(Category(label='Category A'))
    subs.add(Subscription(label='Subscription A', feed_uri='http://feeda.com/'))
    subs.add(Category(label='Category B'))
    subs.add(Subscription(label='Subscription B', feed_uri='http://feedb.com/'))
    subs.add(Category(label='Category C'))
    subs.add(Subscription(label='Subscription C', feed_uri='http://feedc.com/'))
    assert subs.categories == {
        'Category A': Category(label='Category A'),
        'Category B': Category(label='Category B'),
        'Category C': Category(label='Category C')
    }
    assert subs.subscriptions == frozenset([
        Subscription(label='Subscription A', feed_uri='http://feeda.com/'),
        Subscription(label='Subscription B', feed_uri='http://feedb.com/'),
        Subscription(label='Subscription C', feed_uri='http://feedc.com/')
    ])
Ejemplo n.º 14
0
def test_subscription_set_categories_subscriptions():
    subs = SubscriptionList()
    subs.add(Category(label='Category A'))
    subs.add(Subscription(label='Subscription A',
                          feed_uri='http://feeda.com/'))
    subs.add(Category(label='Category B'))
    subs.add(Subscription(label='Subscription B',
                          feed_uri='http://feedb.com/'))
    subs.add(Category(label='Category C'))
    subs.add(Subscription(label='Subscription C',
                          feed_uri='http://feedc.com/'))
    assert subs.categories == {
        'Category A': Category(label='Category A'),
        'Category B': Category(label='Category B'),
        'Category C': Category(label='Category C')
    }
    assert subs.subscriptions == frozenset([
        Subscription(label='Subscription A', feed_uri='http://feeda.com/'),
        Subscription(label='Subscription B', feed_uri='http://feedb.com/'),
        Subscription(label='Subscription C', feed_uri='http://feedc.com/')
    ])