Beispiel #1
0
    def test_mix_sources_2(self):
        moxer = mox.Mox()

        moxer.StubOutWithMock(ArtifactSource, "get_multiple_by_name")
        moxer.StubOutWithMock(ArtifactContent, "all")

        source_names = ("source/1", "source/2")
        sources = [
            MockEntity(key_name=name, name=name) for name in source_names
        ]

        def _content(id):
            # toggles between sources
            source = sources[id % 2]
            id_str = str(id)
            return MockEntity(key_name=id_str,
                              guid=id_str,
                              body=generate_phrase(5),
                              source=source,
                              source_name=source.name)

        ArtifactSource.get_multiple_by_name(source_names).AndReturn(sources)

        # performs ArtifactContent query for each source
        ArtifactContent.all().AndReturn(
            MockQuery(xrange(12), create_call=_content))
        ArtifactContent.all().AndReturn(
            MockQuery(xrange(12), create_call=_content))

        moxer.ReplayAll()
        mixed_sources, text = new_default_mixer().mix_sources(source_names)
        self.assertEquals(len(mixed_sources), len(source_names))
        moxer.VerifyAll()
Beispiel #2
0
    def test_mix_sources_1(self):
        moxer = mox.Mox()

        moxer.StubOutWithMock(ArtifactSource, "get_multiple_by_name")
        moxer.StubOutWithMock(ArtifactContent, "all")

        source_name = "source/1"
        source = MockEntity(key_name=source_name, name=source_name)

        def _content(id):
            id_str = str(id)
            return MockEntity(key_name=id_str,
                              guid=id_str,
                              body=generate_phrase(5),
                              source=source,
                              source_name=source.name)

        ArtifactSource.get_multiple_by_name(source_name).AndReturn((source, ))
        ArtifactContent.all().AndReturn(
            MockQuery(xrange(12), create_call=_content))

        moxer.ReplayAll()
        sources, text = new_default_mixer().mix_sources(source_name)
        self.assertEquals(len(sources), 1)
        moxer.VerifyAll()
Beispiel #3
0
    def test_mix_sources_2(self):
        moxer = mox.Mox()
        
        moxer.StubOutWithMock(ArtifactSource, "get_multiple_by_name")
        moxer.StubOutWithMock(ArtifactContent, "all")

        source_names = ("source/1", "source/2")
        sources = [MockEntity(key_name=name, name=name) for name in source_names]
        
        def _content(id):
            # toggles between sources
            source = sources[id % 2]
            id_str = str(id)
            return MockEntity(key_name=id_str, guid=id_str, body=generate_phrase(5), source=source, source_name=source.name)
        
        ArtifactSource.get_multiple_by_name(source_names).AndReturn(sources)
        
        # performs ArtifactContent query for each source
        ArtifactContent.all().AndReturn(MockQuery(xrange(12), create_call=_content))
        ArtifactContent.all().AndReturn(MockQuery(xrange(12), create_call=_content))
        
        moxer.ReplayAll()
        mixed_sources, text = new_default_mixer().mix_sources(source_names)
        self.assertEquals(len(mixed_sources), len(source_names))
        moxer.VerifyAll()
Beispiel #4
0
 def mix_sources(self, *source_names):
     sources = ArtifactSource.get_multiple_by_name(*source_names)
     missing = filter(lambda i: i is None, sources)
     if missing:
         raise NotFoundException("1 or more sources not found: %s" %
                                 source_names)
     return self.__random_content_for_sources(sources)
Beispiel #5
0
    def test_mix_sources_1(self):
        moxer = mox.Mox()
        
        moxer.StubOutWithMock(ArtifactSource, "get_multiple_by_name")
        moxer.StubOutWithMock(ArtifactContent, "all")

        source_name = "source/1"
        source = MockEntity(key_name=source_name, name=source_name)
        
        def _content(id):
            id_str = str(id)
            return MockEntity(key_name=id_str, guid=id_str, body=generate_phrase(5), source=source, source_name=source.name)
        
        ArtifactSource.get_multiple_by_name(source_name).AndReturn((source, ))
        ArtifactContent.all().AndReturn(MockQuery(xrange(12), create_call=_content))
        
        moxer.ReplayAll()
        sources, text = new_default_mixer().mix_sources(source_name)
        self.assertEquals(len(sources), 1)
        moxer.VerifyAll()
Beispiel #6
0
 def mix_sources(self, *source_names):
     sources = ArtifactSource.get_multiple_by_name(*source_names)
     missing = filter(lambda i: i is None, sources)
     if missing:
         raise NotFoundException("1 or more sources not found: %s" % source_names)
     return self.__random_content_for_sources(sources)