#!/usr/bin/env python
# encoding: utf-8
"""
control.py

Created by Thomas Mangin on 2015-01-01.
Copyright (c) 2009-2015 Exa Networks. All rights reserved.
License: 3-clause BSD. (See the COPYRIGHT file)
"""

import time
import socket
import unittest


from exabgp.configuration.setup import environment

environment.setup('')


def speak(name, data):
    time.sleep(0.005)
    try:
        sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
        sock.connect(name)
        sock.sendall(data)
    except socket.error:
        pass


class TestControl(unittest.TestCase):
    def setUp(self):
        pass

    def test_failed_creation(self):
        pass
        # control = Control()
        # try:
        # 	result = control.init()
        # 	self.assertFalse(result)
        # except IOError:
        # 	# could not write in the location
        # 	pass
        # finally:
        # 	control.cleanup()

    def validate(self, message, check):
        pass
        # name = tempfile.mktemp()
        # control = Control(name,False)
        # try:
        # 	result = control.init()
        # 	self.assertTrue(result)
        #
        # 	p = Process(target=speak, args=(name,message))
        # 	p.start()
        #
        # 	string = control.loop()
        # 	self.assertEqual(string, check)
        # 	p.join()
        # finally:
        # 	control.cleanup()
        # 	del control

    def test_no_newline(self):
        self.validate('x', '')

    def test_one_newline(self):
        self.validate('x\n', 'x')

    def test_two_newline(self):
        self.validate('-\nx\n', 'x')

    def test_leftover(self):
        self.validate('-\nx\n-', 'x')


if __name__ == '__main__':
    unittest.main()
