Exemple #1
0
    def test_update_first_run(self, mock_get_content):
        mock_get_content.return_value = self._first_result()
        utils.update()
        meetups = Meetup.objects.all()
        self.assertEqual(len(meetups), 1)

        # Check all values are as expected
        meetup = meetups[0]
        expected_datetime = datetime(
            year=2015, month=6, day=10, hour=17, minute=30, tzinfo=UTC)
        self.assertEqual(meetup.time, expected_datetime)
        expected_datetime = datetime(
            year=2015, month=5, day=12, hour=21, minute=53, second=10, tzinfo=UTC)
        self.assertEqual(meetup.updated, expected_datetime)
        expected_datetime = datetime(
            year=2014, month=1, day=28, hour=20, minute=47, second=2, tzinfo=UTC)
        self.assertEqual(meetup.created, expected_datetime)
        self.assertEqual(meetup.rsvps, 24)
        self.assertEqual(meetup.maybe_rsvps, 7)
        self.assertEqual(meetup.waitlist_count, 11)
        self.assertEqual(meetup.name, 'Python Ireland meetup')
        self.assertEqual(meetup.description, description)
        self.assertEqual(meetup.status, 'upcoming')
        self.assertEqual(meetup.visibility, 'public')
        self.assertEqual(meetup.event_url, 'http://www.meetup.com/pythonireland/events/221078098/')

        # We should have ticked the MeetupUpdate
        r = settings.REDIS
        meetup_update = iso8601.parse_date(r.get(settings.MEETUPS_LAST_CHECKED).decode('utf-8'))
        minute_ago = datetime.now(tz=UTC) - timedelta(minutes=1)
        self.assertGreater(meetup_update, minute_ago)
Exemple #2
0
    def test_update_second_run(self, mock_get_content):
        mock_get_content.return_value = self._first_result()
        utils.update()
        meetups = Meetup.objects.all()
        expected_datetime = datetime(year=2015,
                                     month=5,
                                     day=12,
                                     hour=21,
                                     minute=53,
                                     second=10,
                                     tzinfo=UTC)
        self.assertEqual(meetups[0].updated, expected_datetime)

        mock_get_content.return_value = self._second_result()
        self._invalidate_meetup_update()  # Allow a another update so soon
        utils.update()
        meetups = Meetup.objects.all()
        self.assertEqual(len(meetups), 1)

        expected_datetime = datetime(year=2015,
                                     month=5,
                                     day=12,
                                     hour=21,
                                     minute=53,
                                     second=20,
                                     tzinfo=UTC)
        self.assertEqual(meetups[0].updated, expected_datetime)
        self.assertEqual(meetups[0].name, "New name")

        self.assertEqual(meetups[0].rsvps, 125)
Exemple #3
0
    def test_update_first_run(self, mock_get_content):
        mock_get_content.return_value = self._first_result()
        utils.update()
        meetups = Meetup.objects.all()
        self.assertEqual(len(meetups), 1)

        # Check all values are as expected
        meetup = meetups[0]
        expected_datetime = datetime(
            year=2015, month=6, day=10, hour=17, minute=30, tzinfo=UTC)
        self.assertEqual(meetup.time, expected_datetime)
        expected_datetime = datetime(year=2015, month=5, day=12, hour=21,
                                     minute=53, second=10, tzinfo=UTC)
        self.assertEqual(meetup.updated, expected_datetime)
        expected_datetime = datetime(year=2014, month=1, day=28, hour=20,
                                     minute=47, second=2, tzinfo=UTC)
        self.assertEqual(meetup.created, expected_datetime)
        self.assertEqual(meetup.rsvps, 24)
        self.assertEqual(meetup.maybe_rsvps, 7)
        self.assertEqual(meetup.waitlist_count, 11)
        self.assertEqual(meetup.name, 'Python Ireland meetup')
        self.assertEqual(meetup.description, description)
        self.assertEqual(meetup.status, 'upcoming')
        self.assertEqual(meetup.visibility, 'public')
        self.assertEqual(meetup.event_url, ('http://www.meetup.com/'
                                            'pythonireland/events/221078098/'))
Exemple #4
0
 def test_update_second_run_no_update(self, mock_get_content):
     mock_get_content.return_value = self._first_result()
     utils.update()
     mock_get_content.return_value = self._first_result()
     utils.update()
     meetups = Meetup.objects.all()
     self.assertEqual(len(meetups), 1)
Exemple #5
0
def meetups(context):
    update()
    self = context.get('self')
    if hasattr(self, 'show_meetups') and self.show_meetups:
        meetups = Meetup.future_events()
    else:
        meetups = []
    return {
        'meetups': meetups,
        'request': context['request'],
    }
Exemple #6
0
def meetups(context):
    update()
    self = context.get('self')
    if hasattr(self, 'show_meetups') and self.show_meetups:
        meetups = Meetup.future_events()
    else:
        meetups = []
    return {
        'meetups': meetups,
        'request': context['request'],
    }
Exemple #7
0
    def test_update_second_run_too_soon(self, mock_get_content):
        mock_get_content.return_value = self._first_result()
        utils.update()
        mock_get_content.return_value = self._second_result()
        utils.update()  # Won't update
        meetups = Meetup.objects.all()
        self.assertEqual(len(meetups), 1)

        expected_datetime = datetime(
            year=2015, month=5, day=12, hour=21, minute=53, second=10, tzinfo=UTC)
        self.assertEqual(meetups[0].updated, expected_datetime)
        self.assertEqual(meetups[0].name, "Python Ireland meetup")
Exemple #8
0
    def test_update_second_run_too_soon(self, mock_get_content):
        mock_get_content.return_value = self._first_result()
        utils.update()
        self.assertTrue(mock_get_content.called)

        utils.update()
        # doesn't call meetup API
        self.assertEqual(mock_get_content.call_count, 1)

        meetups = Meetup.objects.all()
        self.assertEqual(len(meetups), 1)

        expected_datetime = datetime(
            year=2015, month=5, day=12, hour=21, minute=53, second=10, tzinfo=UTC)
        self.assertEqual(meetups[0].updated, expected_datetime)
        self.assertEqual(meetups[0].name, "Python Ireland meetup")
Exemple #9
0
    def test_update_second_run(self, mock_get_content):
        mock_get_content.return_value = self._first_result()
        utils.update()
        meetups = Meetup.objects.all()
        expected_datetime = datetime(
            year=2015, month=5, day=12, hour=21, minute=53, second=10, tzinfo=UTC)
        self.assertEqual(meetups[0].updated, expected_datetime)
        mock_get_content.return_value = self._second_result()
        MeetupUpdate._invalidate_meetup_update()  # Allow a another update so soon
        utils.update()
        meetups = Meetup.objects.all()
        self.assertEqual(len(meetups), 1)

        expected_datetime = datetime(
            year=2015, month=5, day=12, hour=21, minute=53, second=20, tzinfo=UTC)
        self.assertEqual(meetups[0].updated, expected_datetime)
        self.assertEqual(meetups[0].name, "New name")
Exemple #10
0
 def test_update_second_run_add_one(self, mock_get_content):
     mock_get_content.return_value = self._first_result()
     utils.update()
     mock_get_content.return_value = self._second_result()
     utils.update()
     mock_get_content.return_value = self._third_result()
     utils.update()
     meetup_one = Meetup.objects.get(id='qwfbshytjbnb')
     meetup_two = Meetup.objects.get(id='qwfbshytjbnc')
     self.assertEqual(meetup_one.name, 'New name')
     self.assertEqual(meetup_two.name, 'New entry')
Exemple #11
0
 def meetups(self):
     update()
     meetups = Meetup.future_events()[:3]
     return meetups
Exemple #12
0
 def handle(self, *args, **options):
     update()