Beispiel #1
0
    def test_main_put_file(self):
        """Ensure we can put to a queue from a file using CLI."""
        item_put = {'test': 'test'}

        with tempfile.NamedTemporaryFile() as t:
            t.write(json.dumps(item_put).encode('utf-8'))
            t.flush()

            try:
                main(
                    {
                        '--debug': False,
                        '<name>': 'test',
                        'consume': False,
                        'produce': True,
                        '--file': t.name,
                        '--create': False,
                    },
                    stdin=StringIO(json.dumps(item_put)))
            except SystemExit as e:
                self.assertEqual(0, e.args[0])
            else:
                self.fail('Did not raise SystemExit')

            with self.queue.get() as item_get:
                self.assertEqual(item_put, item_get)
Beispiel #2
0
 def test_main_get_fail_missing(self):
     """Ensure get fails when queue is missing."""
     try:
         main({
             '--debug': False,
             '<name>': 'bubba',
             'consume': True,
             'produce': False,
             '--wait': False,
             '--create': False,
         })
     except SystemExit as e:
         self.assertEqual(1, e.args[0])
     else:
         self.fail('Did not raise SystemExit')
Beispiel #3
0
 def test_main_put_file_json_error(self):
     """Ensure put fails with invalid json."""
     try:
         main({
             '--debug': False,
             '<name>': 'test',
             'consume': False,
             'produce': True,
             '--file': '/dev/null',
             '--create': False,
         })
     except SystemExit as e:
         self.assertEqual(1, e.args[0])
     else:
         self.fail('Did not raise SystemExit')
Beispiel #4
0
 def test_main_put_fail_missing(self):
     """Ensure put fails when queue is missing."""
     try:
         main(
             {
                 '--debug': False,
                 '<name>': 'bubba',
                 'consume': False,
                 'produce': True,
                 '--file': '-',
                 '--create': False,
             },
             stdin=StringIO('{"test": "test"}'))
     except SystemExit as e:
         self.assertEqual(1, e.args[0])
     else:
         self.fail('Did not raise SystemExit')
Beispiel #5
0
 def test_main_put_file_decode_error(self):
     """Ensure put fails with invalid data."""
     with open('/dev/random', 'rb') as r:
         try:
             main(
                 {
                     '--debug': False,
                     '<name>': 'test',
                     'consume': False,
                     'produce': True,
                     '--file': '-',
                     '--create': False,
                 },
                 stdin=BytesIO(r.read(10)))
         except SystemExit as e:
             self.assertEqual(1, e.args[0])
         else:
             self.fail('Did not raise SystemExit')
Beispiel #6
0
    def test_main_get(self):
        """Ensure we can get from a queue using CLI."""
        item_put, stdout = {'test': 'test'}, StringIO()
        self.queue.put(item_put)

        try:
            main(
                {
                    '--debug': False,
                    '<name>': 'test',
                    'consume': True,
                    'produce': False,
                    '--wait': -1,
                },
                stdout=stdout)
        except SystemExit as e:
            self.assertEqual(0, e.args[0])
        else:
            self.fail('Did not raise SystemExit')

        self.assertEqual(item_put, json.loads(stdout.getvalue()))
Beispiel #7
0
    def test_main_put_stdin(self):
        """Ensure we can put to a queue from stdin using CLI."""
        item_put = {'test': 'test'}

        try:
            main(
                {
                    '--debug': False,
                    '<name>': 'test',
                    'consume': False,
                    'produce': True,
                    '--file': '-',
                    '--create': False,
                },
                stdin=StringIO(json.dumps(item_put)))
        except SystemExit as e:
            self.assertEqual(0, e.args[0])
        else:
            self.fail('Did not raise SystemExit')

        with self.queue.get() as item_get:
            self.assertEqual(item_put, item_get)