51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
| # copyright 2018 Camptocamp
 | |
| # license lgpl-3.0 or later (http://www.gnu.org/licenses/lgpl.html)
 | |
| 
 | |
| from psycopg2 import IntegrityError
 | |
| 
 | |
| import odoo
 | |
| from odoo.tests import common
 | |
| 
 | |
| 
 | |
| class TestJobChannel(common.TransactionCase):
 | |
|     def setUp(self):
 | |
|         super().setUp()
 | |
|         self.Channel = self.env["queue.job.channel"]
 | |
|         self.root_channel = self.Channel.search([("name", "=", "root")])
 | |
| 
 | |
|     def test_channel_new(self):
 | |
|         channel = self.Channel.new()
 | |
|         self.assertFalse(channel.name)
 | |
|         self.assertFalse(channel.complete_name)
 | |
| 
 | |
|     def test_channel_create(self):
 | |
|         channel = self.Channel.create(
 | |
|             {"name": "sub", "parent_id": self.root_channel.id}
 | |
|         )
 | |
|         self.assertEqual(channel.name, "sub")
 | |
|         self.assertEqual(channel.complete_name, "root.sub")
 | |
|         channel2 = self.Channel.create({"name": "sub", "parent_id": channel.id})
 | |
|         self.assertEqual(channel2.name, "sub")
 | |
|         self.assertEqual(channel2.complete_name, "root.sub.sub")
 | |
| 
 | |
|     @odoo.tools.mute_logger("odoo.sql_db")
 | |
|     def test_channel_complete_name_uniq(self):
 | |
|         channel = self.Channel.create(
 | |
|             {"name": "sub", "parent_id": self.root_channel.id}
 | |
|         )
 | |
|         self.assertEqual(channel.name, "sub")
 | |
|         self.assertEqual(channel.complete_name, "root.sub")
 | |
| 
 | |
|         self.Channel.create({"name": "sub", "parent_id": self.root_channel.id})
 | |
|         with self.assertRaises(IntegrityError):
 | |
|             # Flush process all the pending recomputations (or at least the
 | |
|             # given field and flush the pending updates to the database.
 | |
|             # It is normally called on commit.
 | |
|             self.env["base"].flush()
 | |
| 
 | |
|     def test_channel_name_get(self):
 | |
|         channel = self.Channel.create(
 | |
|             {"name": "sub", "parent_id": self.root_channel.id}
 | |
|         )
 | |
|         self.assertEqual(channel.name_get(), [(channel.id, "root.sub")])
 |