コード例 #1
0
    def test_push_create_dir(self, post, get):
        os.chdir(test_path)
        mock_get = Crowdin_GET(get, info={'files': []})
        mock_post = Crowdin_POST(post)
        config_file = 'data/.crowdin.push.ok'
        with open(config_file, 'r') as f:
            conf = json.loads(f.read())

        push(conf, include_source=True)

        post_by_type = mock_post.call_by_type
        get_by_type = mock_get.call_by_type

        # info called 3 times ( initial / upload single / upload multi )
        self.assertEqual(len(get_by_type['info']), 3)

        # Should have created 3 directory using 'add-directory'
        # create dir main is called twice, because /info does
        # not return the previously created dir ( test only )
        self.assertEqual(len(post_by_type['add-directory']), 4)
        added_dir = [
            x['params']['name'] for x in post_by_type['add-directory']
        ]
        self.assertIn('main', added_dir)
        self.assertIn('main/simple', added_dir)
        self.assertIn('main/multi', added_dir)

        # Should have performed 'add-file' 3 times
        self.assertEqual(len(post_by_type['add-file']), 3)
        files = []
        for i in post_by_type['add-file']:
            files.extend(i['files'].keys())
        self.assertIn('files[main/simple/file.po]', files)
        self.assertIn('files[main/multi/good.po]', files)
        self.assertIn('files[main/multi/good2.po]', files)
コード例 #2
0
    def test_push_ok(self, post, get):
        os.chdir(test_path)
        mock_get = Crowdin_GET(get,
                               info={
                                   'files': [{
                                       'name':
                                       'main',
                                       'files': [{
                                           'name': 'simple',
                                           'files': [{
                                               'name': 'file.po'
                                           }]
                                       }, {
                                           'name':
                                           'multi',
                                           'files': [{
                                               'name': 'good.po'
                                           }, {
                                               'name': 'good2.po'
                                           }]
                                       }]
                                   }]
                               })
        mock_post = Crowdin_POST(post)
        config_file = 'data/.crowdin.push.ok'
        with open(config_file, 'r') as f:
            conf = json.loads(f.read())

        push(conf, include_source=True)

        post_by_type = mock_post.call_by_type
        # Should not have performed 'add-directory':
        self.assertFalse('add-directory' in post_by_type)

        # Should not have performed 'add-file'
        self.assertFalse('add-file' in post_by_type)

        # Should have performed 'update-file' 3 times
        self.assertEqual(len(post_by_type['update-file']), 3)
        files = []
        for i in post_by_type['update-file']:
            files.extend(i['files'].keys())
        self.assertIn('files[main/simple/file.po]', files)
        self.assertIn('files[main/multi/good.po]', files)
        self.assertIn('files[main/multi/good2.po]', files)

        # Should only ask 'info' once.
        self.assertEqual(len(mock_get.calls), 1)
コード例 #3
0
    def test_push_ok(self, post, get):
        os.chdir(test_path)
        mock_get = Crowdin_GET(get, info={
            'files': [{
                'name': 'main',
                'files': [{
                    'name': 'simple',
                    'files': [{
                        'name': 'file.po'
                    }]
                }, {
                    'name': 'multi',
                    'files': [{
                        'name': 'good.po'
                    }, {
                        'name': 'good2.po'
                    }]
                }]
            }]
        })
        mock_post = Crowdin_POST(post)
        config_file = 'data/.crowdin.push.ok'
        with open(config_file, 'r') as f:
            conf = json.loads(f.read())

        push(conf, include_source=True)

        post_by_type = mock_post.call_by_type
        # Should not have performed 'add-directory':
        self.assertFalse('add-directory' in post_by_type)

        # Should not have performed 'add-file'
        self.assertFalse('add-file' in post_by_type)

        # Should have performed 'update-file' 3 times
        self.assertEqual(len(post_by_type['update-file']), 3)
        files = []
        for i in post_by_type['update-file']:
            files.extend(i['files'].keys())
        self.assertIn('files[main/simple/file.po]', files)
        self.assertIn('files[main/multi/good.po]', files)
        self.assertIn('files[main/multi/good2.po]', files)

        # Should only ask 'info' once.
        self.assertEqual(len(mock_get.calls), 1)
コード例 #4
0
    def test_push_create_dir(self, post, get):
        os.chdir(test_path)
        mock_get = Crowdin_GET(get, info={
            'files': []
        })
        mock_post = Crowdin_POST(post)
        config_file = 'data/.crowdin.push.ok'
        with open(config_file, 'r') as f:
            conf = json.loads(f.read())

        push(conf, include_source=True)

        post_by_type = mock_post.call_by_type
        get_by_type = mock_get.call_by_type

        # info called 3 times ( initial / upload single / upload multi )
        self.assertEqual(len(get_by_type['info']), 3)

        # Should have created 3 directory using 'add-directory'
        # create dir main is called twice, because /info does
        # not return the previously created dir ( test only )
        self.assertEqual(len(post_by_type['add-directory']), 4)
        added_dir = [x['params']['name']
                     for x in post_by_type['add-directory']]
        self.assertIn('main', added_dir)
        self.assertIn('main/simple', added_dir)
        self.assertIn('main/multi', added_dir)

        # Should have performed 'add-file' 3 times
        self.assertEqual(len(post_by_type['add-file']), 3)
        files = []
        for i in post_by_type['add-file']:
            files.extend(i['files'].keys())
        self.assertIn('files[main/simple/file.po]', files)
        self.assertIn('files[main/multi/good.po]', files)
        self.assertIn('files[main/multi/good2.po]', files)