Changeset 470

Show
Ignore:
Timestamp:
06/02/08 02:29:53 (7 months ago)
Author:
thomas
Message:

Added testing of getting a TrackFile?'s media via the media server

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/djedna/catalog2/models.py

    r469 r470  
    174174                {'trackfile_id' : self.id}) 
    175175     
    176     def get_media_url(self, user=None, query_auth=False, expires_in=None): 
     176    def get_media_url(self, user=None, query_auth=None, expires_in=None): 
    177177        return mediaserver.get_url(self.relative_path, 
    178178                                   query_auth=query_auth, 
  • trunk/djedna/catalog2/tests.py

    r469 r470  
    154154            reverse('djedna_trackfile_detail', 
    155155                    kwargs={'trackfile_id' : trackfile.id})) 
    156         self.failUnlessEqual(trackfile.get_media_url(), 
     156        self.failUnlessEqual(trackfile.get_media_url(query_auth=False), 
    157157            iri_to_uri(urlparse.urljoin(settings.MEDIA_URL, 
    158158                                        urlquote(trackfile.relative_path)))) 
     
    223223            reverse('djedna_trackfile_detail', 
    224224                    kwargs={'trackfile_id' : trackfile.id})) 
    225         self.failUnlessEqual(trackfile.get_media_url(), 
     225        self.failUnlessEqual(trackfile.get_media_url(query_auth=False), 
    226226            iri_to_uri(urlparse.urljoin(settings.MEDIA_URL, 
    227227                                        urlquote(trackfile.relative_path)))) 
     
    255255            reverse('djedna_trackfile_detail', 
    256256                    kwargs={'trackfile_id':trackfile.id})) 
    257         self.failUnlessEqual(trackfile.get_media_url(), '') 
     257        self.failUnlessEqual(trackfile.get_media_url(query_auth=False), '') 
    258258        info = trackfile.info 
    259259        self.failIf(info['length']) 
     
    370370        # MP3 
    371371        trackfile, created = TrackFile.objects.get_or_create_from_path(FILE1_MP3_REL) 
    372         response = self.client.get(reverse('djedna_trackfile_detail', 
    373                                            kwargs={'trackfile_id' : trackfile.id})) 
     372        response = self.client.get(trackfile.get_absolute_url()) 
    374373        self.failUnlessEqual(response.status_code, 200) 
    375374        self.failUnlessEqual(response.context['trackfile'].id, trackfile.id) 
     
    377376        # WAV 
    378377        trackfile, created = TrackFile.objects.get_or_create_from_path(FILE1_WAV_REL) 
    379         response = self.client.get(reverse('djedna_trackfile_detail', 
    380                                            kwargs={'trackfile_id' : trackfile.id})) 
     378        response = self.client.get(trackfile.get_absolute_url()) 
    381379        self.failUnlessEqual(response.status_code, 200) 
    382380        self.failUnlessEqual(response.context['trackfile'].id, trackfile.id) 
     
    384382        # Bogus 
    385383        trackfile, created = TrackFile.objects.get_or_create_from_path(BOGUS_MP3_REL) 
    386         response = self.client.get(reverse('djedna_trackfile_detail', 
    387                                            kwargs={'trackfile_id' : trackfile.id})) 
     384        response = self.client.get(trackfile.get_absolute_url()) 
    388385        self.failUnlessEqual(response.status_code, 200) 
    389386        self.failUnlessEqual(response.context['trackfile'].id, trackfile.id) 
    390387        self.assertTemplateUsed(response, 'catalog2/trackfile_detail.html') 
    391  
    392  
     388     
     389    def test_trackfile_media(self): 
     390        # MP3 
     391        if settings.MEDIA_URL == 'http://testserver/media/': 
     392            trackfile, created = TrackFile.objects.get_or_create_from_path(FILE1_MP3_REL) 
     393            media_url = trackfile.get_media_url() 
     394            url_comps = urlparse.urlsplit(media_url) 
     395            querydict = {} 
     396            for param in url_comps[3].split('&'): 
     397                name = param[:param.find('=')] 
     398                value = param[param.find('=')+1:] 
     399                querydict[name] = value 
     400            response = self.client.get(url_comps[2], querydict) 
     401            self.failUnlessEqual(response.status_code, 200) 
     402        else: 
     403            log.warn("\n\nSkipping 'catalog2.tests.test_trackfile_media' because settings.MEDIA_URL is not 'http://testserver/media/'\n\n") 
     404     
     405 
  • trunk/djedna/mediaserver/models.py

    r448 r470  
    3636     
    3737    def is_access_allowed(self, url, expires_timestamp, username=None): 
     38        log.info("Got HERE: %s, %s" % (url, expires_timestamp)) 
    3839        access_alowed = False 
    3940        expires_date = datetime.fromtimestamp(float(expires_timestamp))