def test_deletes_removed_documentation(self):
        aws = FakeAWS(
            routing_rules={
            },
            s3_buckets={
                'clusterhq-staging-docs': {
                    'index.html': '',
                    'en/index.html': '',
                    'en/latest/index.html': '',
                    'en/0.3.1/index.html': 'old-index-content',
                    'en/0.3.1/sub/index.html': 'old-sub-index-content',
                    'en/0.3.1/other.html': 'other-content',
                    'release/flocker-0.3.0+444.gf05215b/index.html':
                        'index-content',
                    'release/flocker-0.3.0+444.gf05215b/sub/index.html':
                        'sub-index-content',
                },
            })
        self.publish_docs(aws, '0.3.0+444.gf05215b', '0.3.1',
                          environment=Environments.STAGING)
        self.assertEqual(
            aws.s3_buckets['clusterhq-staging-docs'], {
                'index.html': '',
                'en/index.html': '',
                'en/latest/index.html': 'index-content',
                'en/latest/sub/index.html': 'sub-index-content',
                'en/0.3.1/index.html': 'index-content',
                'en/0.3.1/sub/index.html': 'sub-index-content',
                # and the originals
                'release/flocker-0.3.0+444.gf05215b/index.html':
                    'index-content',
                'release/flocker-0.3.0+444.gf05215b/sub/index.html':
                    'sub-index-content',
            })
Builds combinations like 'Delete Object' and 'Deleted
dataset/ETHPy150Open ClusterHQ/flocker/admin/test/test_release.py/PublishDocsTests.test_deletes_removed_documentation--crossover with--dataset/ETHPy150Open Havate/havate-openstack/proto-build/gui/horizon/Horizon_GUI/horizon/tables/actions.py/BatchAction._get_action_name