HEX
Server: LiteSpeed
System: Linux CentOS-79-64-minimal 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: vishn3436 (5293)
PHP: 8.0.15
Disabled: NONE
Upload Files
File: //scripts/script-server/src/tests/id_generator_test.py
import unittest

from execution.id_generator import IdGenerator
from model.model_helper import is_empty


class TestIdGenerator(unittest.TestCase):
    def test_next_id(self):
        generator = IdGenerator([])
        id = generator.next_id()
        self.assertIsNotNone(id)
        self.assertIsInstance(id, str)
        self.assertFalse(is_empty(id))

    def test_2_next_ids(self):
        generator = IdGenerator([])
        id1 = generator.next_id()
        id2 = generator.next_id()
        self.assertNotEqual(id1, id2)

    def test_3_next_ids(self):
        generator = IdGenerator([])
        id1 = generator.next_id()
        id2 = generator.next_id()
        id3 = generator.next_id()
        self.assertNotEqual(id1, id2)
        self.assertNotEqual(id1, id3)
        self.assertNotEqual(id2, id3)

    def test_unique_id_after_init(self):
        generator1 = IdGenerator([])
        ids = []
        for index in range(10):
            ids.append(generator1.next_id())

        generator2 = IdGenerator(ids)
        next_id = generator2.next_id()
        self.assertFalse(next_id in ids)

    def test_unique_id_after_init_with_random_ids(self):
        ids = ['test1', '123', '1', '3', '10', 'my_script#5']
        generator = IdGenerator(ids)

        for index in range(50):
            next_id = generator.next_id()
            self.assertFalse(next_id in ids)
            ids.append(next_id)