class MockCommentServiceServerTest(unittest.TestCase):
    '''
    A mock version of the Comment Service server that listens on a local
    port and responds with pre-defined grade messages.
    '''
    def setUp(self):
        super(MockCommentServiceServerTest, self).setUp()

        # This is a test of the test setup,
        # so it does not need to run as part of the unit test suite
        # You can re-enable it by commenting out the line below
        raise SkipTest

        # Create the server
        server_port = 4567
        self.server_url = 'http://127.0.0.1:%d' % server_port

        # Start up the server and tell it that by default it should
        # return this as its json response
        self.expected_response = {'username': '******', 'external_id': '4'}
        self.server = MockCommentServiceServer(port_num=server_port,
                                               response=self.expected_response)

        # Start the server in a separate daemon thread
        server_thread = threading.Thread(target=self.server.serve_forever)
        server_thread.daemon = True
        server_thread.start()

    def tearDown(self):
        # Stop the server, freeing up the port
        self.server.shutdown()

    def test_new_user_request(self):
        """
        Test the mock comment service using an example
        of how you would create a new user
        """
        # Send a request
        values = {
            'username': u'user100',
            'external_id': '4',
            'email': u'*****@*****.**'
        }
        data = json.dumps(values)
        headers = {
            'Content-Type': 'application/json',
            'Content-Length': len(data),
            'X-Edx-Api-Key': 'TEST_API_KEY'
        }
        req = urllib2.Request(self.server_url + '/api/v1/users/4', data,
                              headers)

        # Send the request to the mock cs server
        response = urllib2.urlopen(req)

        # Receive the reply from the mock cs server
        response_dict = json.loads(response.read())

        # You should have received the response specified in the setup above
        self.assertEqual(response_dict, self.expected_response)
class MockCommentServiceServerTest(unittest.TestCase):
    '''
    A mock version of the Comment Service server that listens on a local
    port and responds with pre-defined grade messages.
    '''

    def setUp(self):
        super(MockCommentServiceServerTest, self).setUp()

        # This is a test of the test setup,
        # so it does not need to run as part of the unit test suite
        # You can re-enable it by commenting out the line below
        raise SkipTest

        # Create the server
        server_port = 4567
        self.server_url = 'http://127.0.0.1:%d' % server_port

        # Start up the server and tell it that by default it should
        # return this as its json response
        self.expected_response = {'username': '******', 'external_id': '4'}
        self.server = MockCommentServiceServer(port_num=server_port,
                                               response=self.expected_response)

        # Start the server in a separate daemon thread
        server_thread = threading.Thread(target=self.server.serve_forever)
        server_thread.daemon = True
        server_thread.start()

    def tearDown(self):
        # Stop the server, freeing up the port
        self.server.shutdown()

    def test_new_user_request(self):
        """
        Test the mock comment service using an example
        of how you would create a new user
        """
        # Send a request
        values = {'username': u'user100',
                  'external_id': '4', 'email': u'*****@*****.**'}
        data = json.dumps(values)
        headers = {'Content-Type': 'application/json', 'Content-Length': len(data), 'X-Edx-Api-Key': 'TEST_API_KEY'}
        req = urllib2.Request(self.server_url + '/api/v1/users/4', data, headers)

        # Send the request to the mock cs server
        response = urllib2.urlopen(req)

        # Receive the reply from the mock cs server
        response_dict = json.loads(response.read())

        # You should have received the response specified in the setup above
        self.assertEqual(response_dict, self.expected_response)
Example #3
0
    def setUp(self):
        # This is a test of the test setup,
        # so it does not need to run as part of the unit test suite
        # You can re-enable it by commenting out the line below
        raise SkipTest

        # Create the server
        server_port = 4567
        self.server_url = 'http://127.0.0.1:%d' % server_port

        # Start up the server and tell it that by default it should
        # return this as its json response
        self.expected_response = {'username': '******', 'external_id': '4'}
        self.server = MockCommentServiceServer(port_num=server_port,
                                               response=self.expected_response)

        # Start the server in a separate daemon thread
        server_thread = threading.Thread(target=self.server.serve_forever)
        server_thread.daemon = True
        server_thread.start()
    def setUp(self):
        # This is a test of the test setup,
        # so it does not need to run as part of the unit test suite
        # You can re-enable it by commenting out the line below
        raise SkipTest

        # Create the server
        server_port = 4567
        self.server_url = "http://127.0.0.1:%d" % server_port

        # Start up the server and tell it that by default it should
        # return this as its json response
        self.expected_response = {"username": "******", "external_id": "4"}
        self.server = MockCommentServiceServer(port_num=server_port, response=self.expected_response)

        # Start the server in a separate daemon thread
        server_thread = threading.Thread(target=self.server.serve_forever)
        server_thread.daemon = True
        server_thread.start()