コード例 #1
0
 def setUp(self):
     self.sniffer = WAPProfileSniffer()
     self.sniffer.downloader = MockDownloader()
コード例 #2
0
class TestWAPProfileSniffer(unittest.TestCase):
    
    def setUp(self):
        self.sniffer = WAPProfileSniffer()
        self.sniffer.downloader = MockDownloader()
    
    def test_download_x_wap_profile(self):
        
        request = MockRequest()
        request.environ["X-WAP-PROFILE"] = "http://nds1.nds.nokia.com/uaprof/N6230ir200.xml"
        
        ua = self.sniffer.sniff(request)
        self.assertNotEqual(ua, None)
        
        #
        # Test some DeviceAtlas compatible mappings
        #
        self.assertEqual(ua.get("usableDisplayWidth"), 208)
        
        self.assertEqual(ua.get("fakeProperty"), None)
        
    def test_support_3gp_streaming(self):
        """ Check that we extract 3GP streaming information properly from the profile """

        # N6230i
        request = MockRequest()
        request.environ["X-WAP-PROFILE"] = "http://nds1.nds.nokia.com/uaprof/N6230ir200.xml"

        ua = self.sniffer.sniff(request)
        
        streaming_3gp = ua.get("stream.3gp.h263")
        self.assertEqual(streaming_3gp, True)
                
        # N95
        request = MockRequest()
        request.environ["X-WAP-PROFILE"] = "http://nds1.nds.nokia.com/uaprof/NN95-1r100-VF3GMIP.xml"

        ua = self.sniffer.sniff(request)
        
        streaming_3gp = ua.get("stream.3gp.h263")
        self.assertEqual(streaming_3gp, True)
        
        
    def test_support_mp4(self):

        # N6230i
        request = MockRequest()
        request.environ["X-WAP-PROFILE"] = "http://nds1.nds.nokia.com/uaprof/N6230ir200.xml"

        ua = self.sniffer.sniff(request)
        
        self.assertEqual(ua.get("mp4.h264.level11"), False)
                
        # N95
        request = MockRequest()
        request.environ["X-WAP-PROFILE"] = "http://nds1.nds.nokia.com/uaprof/NN95-1r100-VF3GMIP.xml"

        ua = self.sniffer.sniff(request)
        
        
        self.assertEqual(ua.get("mp4.h264.level11"), True)

        
    def test_sony(self):
        """ Test sony style mobile sniffing """
        # http://wap.sonyericsson.com/UAprof/T68R502.xml

        request = MockRequest()
        
        # TODO: Fill in Sony style headers here... how?
        request.environ["HTTP_PROFILE"] = "http://wap.sonyericsson.com/UAprof/T68R502.xml"
        
        ua = self.sniffer.sniff(request)
        ua.dump()
        
        self.assertEqual(ua.url, "http://wap.sonyericsson.com/UAprof/T68R502.xml")
        
        self.assertNotEqual(ua, None)
        
        self.assertEqual(ua.get("usableDisplayWidth"), 101)
        
        
    def test_cache(self):

        request = MockRequest()
        request.environ["X-WAP-PROFILE"] = "http://nds1.nds.nokia.com/uaprof/N6230ir200.xml"
        
        ua = self.sniffer.sniff(request)
        ua = self.sniffer.sniff(request)
        
        self.assertEqual(self.sniffer.downloader.download_count, 1)