mirror of
				https://github.com/peeringdb/peeringdb.git
				synced 2024-05-11 05:55:09 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from peeringdb_server.models import REFTAG_MAP
 | 
						|
from django.core.management import call_command
 | 
						|
from util import ClientCase
 | 
						|
 | 
						|
import StringIO
 | 
						|
import sys
 | 
						|
 | 
						|
 | 
						|
class TestWhois(ClientCase):
 | 
						|
    @classmethod
 | 
						|
    def setUpTestData(cls):
 | 
						|
        super(TestWhois, cls).setUpTestData()
 | 
						|
        cls.org = REFTAG_MAP["org"].objects.create(name="Test org",
 | 
						|
                                                   status="ok")
 | 
						|
        cls.net = REFTAG_MAP["net"].objects.create(
 | 
						|
            name="Test net", status="ok", asn=63311, org=cls.org)
 | 
						|
        cls.pocs = []
 | 
						|
        for visibility in ["Private", "Users", "Public"]:
 | 
						|
            cls.pocs.append(REFTAG_MAP["poc"].objects.create(
 | 
						|
                network=cls.net, status="ok", role="Abuse",
 | 
						|
                name="POC-{}".format(visibility),
 | 
						|
                email="{}@localhost".format(visibility), visible=visibility))
 | 
						|
 | 
						|
    def test_whois_perms(self):
 | 
						|
        """
 | 
						|
        test that anonymous user permissions are applied
 | 
						|
        to whois output - any pocs other than public ones should
 | 
						|
        be excluded
 | 
						|
        """
 | 
						|
 | 
						|
        # whois does not go to the command's stdout so we need to
 | 
						|
        # capture the output through sys.stdout
 | 
						|
        out = StringIO.StringIO()
 | 
						|
        oldout = sys.stdout
 | 
						|
        sys.stdout = out
 | 
						|
 | 
						|
        call_command("pdb_whois", "as63311")
 | 
						|
 | 
						|
        # restore sys.stdout
 | 
						|
        sys.stdout = oldout
 | 
						|
 | 
						|
        out = out.getvalue()
 | 
						|
 | 
						|
        assert out.find("POC-Private") == -1
 | 
						|
        assert out.find("POC-Users") == -1
 | 
						|
        assert out.find("POC-Public") > -1
 |