Пример #1
0
    def test_get_should_instantiate_new_tag_selection_and_initiate_it(self):
        callable_factory = mock()
        args = ['selector']

        tagSelectionMock = mock(tagselection._TagSelection)
        when(tagSelectionMock).__call__(anyx(), anyx()).thenReturn(tagSelectionMock)
        tagselection._TagSelection = utils.CallableMock(tagSelectionMock)

        tagselection.TagSelector(callable_factory).get(*args)
        verify(tagSelectionMock, times=1).__call__(anyx(collections.defaultdict), callable_factory)
        verify(tagSelectionMock, times=1).union(*args)
Пример #2
0
    def setUp(self):
        self.TagSelector = core.tagselection.TagSelector
        self.tagSelectorMock = mock(core.tagselection.TagSelector)
        core.tagselection.TagSelector = utils.CallableMock(self.tagSelectorMock)
        when(self.tagSelectorMock).__call__(anyx()).thenReturn(self.tagSelectorMock)

        self.TagManager = core.tagselection.TagManager
        self.tagManagerMock = mock(core.tagselection.TagManager)
        core.tagselection.TagManager = utils.CallableMock(self.tagManagerMock)
        when(self.tagManagerMock).__call__(anyx()).thenReturn(self.tagManagerMock)
        when(self.tagManagerMock).infere_tags(anyx()).thenReturn(set())

        self.engine = core.DatasourceEngine()
Пример #3
0
    def test_get_should_instantiate_new_tag_selection_and_initiate_it(self):
        callable_factory = mock()
        args = ['selector']

        tagSelectionMock = mock(tagselection._TagSelection)
        when(tagSelectionMock).__call__(anyx(),
                                        anyx()).thenReturn(tagSelectionMock)
        tagselection._TagSelection = utils.CallableMock(tagSelectionMock)

        tagselection.TagSelector(callable_factory).get(*args)
        verify(tagSelectionMock,
               times=1).__call__(anyx(collections.defaultdict),
                                 callable_factory)
        verify(tagSelectionMock, times=1).union(*args)
Пример #4
0
 def test_get_should_only_use_builder_once_for_each_registered_reference(self):
     for i in range(2):
         self.engine.get('REGISTERED_KEY_1')
     for i in range(2):
         self.engine.get('REGISTERED_KEY_2')
     self.engine.get('REGISTERED_KEY_1')
     verify(self.builder_mock, times=2).build(anyx())
Пример #5
0
    def setUp(self):
        self.TagSelector = core.tagselection.TagSelector
        self.tagSelectorMock = mock(core.tagselection.TagSelector)
        core.tagselection.TagSelector = utils.CallableMock(
            self.tagSelectorMock)
        when(self.tagSelectorMock).__call__(anyx()).thenReturn(
            self.tagSelectorMock)

        self.TagManager = core.tagselection.TagManager
        self.tagManagerMock = mock(core.tagselection.TagManager)
        core.tagselection.TagManager = utils.CallableMock(self.tagManagerMock)
        when(self.tagManagerMock).__call__(anyx()).thenReturn(
            self.tagManagerMock)
        when(self.tagManagerMock).infere_tags(anyx()).thenReturn(set())

        self.engine = core.DatasourceEngine()
Пример #6
0
    def setUp(self):
        self.TagManager = core.tagselection.TagManager

        self.tagManagerMock = mock(core.tagselection.TagManager)
        when(self.tagManagerMock).__call__(anyx(dict)).thenReturn(self.tagManagerMock)
        core.tagselection.TagManager = utils.CallableMock(self.tagManagerMock)

        self.engine = core.DatasourceEngine()
Пример #7
0
 def test_get_should_only_use_builder_once_for_each_registered_reference(
         self):
     for i in range(2):
         self.engine.get('REGISTERED_KEY_1')
     for i in range(2):
         self.engine.get('REGISTERED_KEY_2')
     self.engine.get('REGISTERED_KEY_1')
     verify(self.builder_mock, times=2).build(anyx())
Пример #8
0
    def setUp(self):
        self.TagManager = core.tagselection.TagManager

        self.tagManagerMock = mock(core.tagselection.TagManager)
        when(self.tagManagerMock).__call__(anyx(dict)).thenReturn(
            self.tagManagerMock)
        core.tagselection.TagManager = utils.CallableMock(self.tagManagerMock)

        self.engine = core.DatasourceEngine()
Пример #9
0
    def test_get_without_passing_index_should_return_dict_with_each_item_result_from_callable(self):
        self.tagSelection._initial_selection = set('abcdefghij')
        self.tag_mappings.update({'2': set('defg')})

        result = self.tagSelection.difference('2').get()
        assert isinstance(result, dict)
        assert len(result) is 6

        verify(self.callable_factory, times=6).__call__(anyx())
Пример #10
0
    def test_for_synched_should_delegate_to_tagManager_register_synched_method(self):
        selection = object()

        def function():
            pass

        self.engine.for_synched(selection)(function)

        verify(self.tagManagerMock, times=1).register_synched(function, anyx())
Пример #11
0
    def test_for_synched_should_delegate_to_tagManager_register_synched_method(
            self):
        selection = object()

        def function():
            pass

        self.engine.for_synched(selection)(function)

        verify(self.tagManagerMock, times=1).register_synched(function, anyx())
Пример #12
0
    def test_get_without_passing_index_should_return_dict_with_each_item_result_from_callable(
            self):
        self.tagSelection._initial_selection = set('abcdefghij')
        self.tag_mappings.update({'2': set('defg')})

        result = self.tagSelection.difference('2').get()
        assert isinstance(result, dict)
        assert len(result) is 6

        verify(self.callable_factory, times=6).__call__(anyx())
Пример #13
0
    def test_register_should_call_listener_for_late_reference_when_there_is_one_selector(self):
        reference = 'REFERENCE'

        selection = mock()
        when(selection).__iter__().thenReturn([].__iter__()).thenReturn([reference].__iter__())
        when(selection).is_elegible(reference).thenReturn(True)

        self.manager.register(self.listener_callable_mock, utils.IterableMock(selection))
        verify(self.listener_mock, times=0).__call__(anyx())
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference)
        verify(self.listener_mock, times=1).__call__(reference)
        verifyNoMoreInteractions(self.listener_mock)
Пример #14
0
    def test_process_should_process_dependencies(self):
        instance = mock()
        registration = mock()
        dependencies = {
            'a': mock(task.SimpleDatasourceTask),
            'b': mock(task.SimpleDatasourceTask),
            'c': mock(task.SimpleDatasourceTask),
        }

        task.SimpleDatasourceTask(instance, registration, dependencies).process()

        verify(dependencies['a'], times=1).process()
        verify(dependencies['b'], times=1).process()
        verify(dependencies['c'], times=1).process()
        verify(instance, times=1).evaluate(anyx(dict))
Пример #15
0
    def test_process_should_process_dependencies(self):
        instance = mock()
        registration = mock()
        dependencies = {
            'a': mock(task.SimpleDatasourceTask),
            'b': mock(task.SimpleDatasourceTask),
            'c': mock(task.SimpleDatasourceTask),
        }

        task.SimpleDatasourceTask(instance, registration,
                                  dependencies).process()

        verify(dependencies['a'], times=1).process()
        verify(dependencies['b'], times=1).process()
        verify(dependencies['c'], times=1).process()
        verify(instance, times=1).evaluate(anyx(dict))
Пример #16
0
    def test_register_should_call_listener_for_late_reference_when_there_is_one_selector(
            self):
        reference = 'REFERENCE'

        selection = mock()
        when(selection).__iter__().thenReturn([].__iter__()).thenReturn(
            [reference].__iter__())
        when(selection).is_elegible(reference).thenReturn(True)

        self.manager.register(self.listener_callable_mock,
                              utils.IterableMock(selection))
        verify(self.listener_mock, times=0).__call__(anyx())
        verifyNoMoreInteractions(self.listener_mock)

        self.manager.evaluate_new_candidate(reference)
        verify(self.listener_mock, times=1).__call__(reference)
        verifyNoMoreInteractions(self.listener_mock)
Пример #17
0
    def test_process_should_process_dependencies(self):
        instance = mock()
        registration = mock()

        symbol = 'symbol'
        start = None
        end = None

        dependencies = {
            'a': mock(task.DataFrameDatasourceTask),
            'b': mock(task.DataFrameDatasourceTask),
            'c': mock(task.DataFrameDatasourceTask),
        }

        task.DataFrameDatasourceTask(instance, registration, dependencies).process(symbol, start, end)

        verify(dependencies['a'], times=1).process(symbol, start, end)
        verify(dependencies['b'], times=1).process(symbol, start, end)
        verify(dependencies['c'], times=1).process(symbol, start, end)
        verify(instance, times=1).evaluate(anyx(task.DatasourceContext), symbol, start, end)
Пример #18
0
    def test_process_should_process_dependencies(self):
        instance = mock()
        registration = mock()

        symbol = 'symbol'
        start = None
        end = None

        dependencies = {
            'a': mock(task.DataFrameDatasourceTask),
            'b': mock(task.DataFrameDatasourceTask),
            'c': mock(task.DataFrameDatasourceTask),
        }

        task.DataFrameDatasourceTask(instance, registration,
                                     dependencies).process(symbol, start, end)

        verify(dependencies['a'], times=1).process(symbol, start, end)
        verify(dependencies['b'], times=1).process(symbol, start, end)
        verify(dependencies['c'], times=1).process(symbol, start, end)
        verify(instance, times=1).evaluate(anyx(task.DatasourceContext),
                                           symbol, start, end)
Пример #19
0
    def test_get_passing_index_should_return_item_result_from_callable(self):
        self.tagSelection._initial_selection = set('abcdefghij')
        self.tag_mappings.update({'2': set('defg')})

        self.tagSelection.difference('2').get(2)
        verify(self.callable_factory, times=1).__call__(anyx())
Пример #20
0
 def test_register_datasource_should_instantiate_tag_selector_on_initialization(
         self):
     verify(self.tagSelectorMock, times=1).__call__(anyx())
Пример #21
0
    def test_get_passing_index_should_return_item_result_from_callable(self):
        self.tagSelection._initial_selection = set('abcdefghij')
        self.tag_mappings.update({'2': set('defg')})

        self.tagSelection.difference('2').get(2)
        verify(self.callable_factory, times=1).__call__(anyx())
Пример #22
0
 def test_get_should_not_use_builder_when_reference_was_not_registered(
         self):
     self.assertRaises(KeyError, self.engine.get, 'NOT_REGISTERED_KEY_1')
     verify(self.builder_mock, times=0).build(anyx())
Пример #23
0
 def test_get_should_use_builder_when_reference_was_registered(self):
     self.engine.get('REGISTERED_KEY_1')
     verify(self.builder_mock, times=1).build(anyx())
Пример #24
0
 def test_register_datasource_should_instantiate_tag_selector_on_initialization(self):
     verify(self.tagSelectorMock, times=1).__call__(anyx())
Пример #25
0
 def test_get_should_use_builder_when_reference_was_registered(self):
     self.engine.get('REGISTERED_KEY_1')
     verify(self.builder_mock, times=1).build(anyx())
Пример #26
0
 def test_get_should_not_use_builder_when_reference_was_not_registered(self):
     self.assertRaises(KeyError, self.engine.get, 'NOT_REGISTERED_KEY_1')
     verify(self.builder_mock, times=0).build(anyx())