def test_fork_reverts_to_using_user_storage_default(self): user = UserFactory() user2 = UserFactory() us = RegionFactory() canada = RegionFactory() user_settings = user.get_addon('osfstorage') user_settings.default_region = us user_settings.save() user2_settings = user2.get_addon('osfstorage') user2_settings.default_region = canada user2_settings.save() project = ProjectFactory(creator=user, is_public=True) child = NodeFactory(parent=project, creator=user, is_public=True) child_settings = child.get_addon('osfstorage') child_settings.region_id = canada.id child_settings.save() fork = project.fork_node(Auth(user)) child_fork = models.Node.objects.get_children(fork).first() assert fork.get_addon('osfstorage').region_id == us.id assert fork.get_addon('osfstorage').user_settings == user.get_addon( 'osfstorage') assert child_fork.get_addon('osfstorage').region_id == us.id fork = project.fork_node(Auth(user2)) child_fork = models.Node.objects.get_children(fork).first() assert fork.get_addon('osfstorage').region_id == canada.id assert fork.get_addon('osfstorage').user_settings == user2.get_addon( 'osfstorage') assert child_fork.get_addon('osfstorage').region_id == canada.id
def test_move_nested_between_regions(self): canada = RegionFactory() new_component = NodeFactory(parent=self.project) component_node_settings = new_component.get_addon('osfstorage') component_node_settings.region = canada component_node_settings.save() move_to = component_node_settings.get_root() to_move = self.node_settings.get_root().append_folder( 'Aaah').append_folder('Woop') child = to_move.append_file('There it is') for _ in range(2): version = factories.FileVersionFactory( region=self.node_settings.region) child.add_version(version) child.save() moved = to_move.move_under(move_to) child.reload() assert new_component == child.target versions = child.versions.order_by('-created') assert versions.first().region == component_node_settings.region assert versions.last().region == self.node_settings.region
def test_fork_reverts_to_using_user_storage_default(self): user = UserFactory() user2 = UserFactory() us = RegionFactory() canada = RegionFactory() user_settings = user.get_addon('osfstorage') user_settings.default_region = us user_settings.save() user2_settings = user2.get_addon('osfstorage') user2_settings.default_region = canada user2_settings.save() project = ProjectFactory(creator=user, is_public=True) child = NodeFactory(parent=project, creator=user, is_public=True) child_settings = child.get_addon('osfstorage') child_settings.region_id = canada.id child_settings.save() fork = project.fork_node(Auth(user)) child_fork = models.Node.objects.get_children(fork).first() assert fork.get_addon('osfstorage').region_id == us.id assert fork.get_addon('osfstorage').user_settings == user.get_addon('osfstorage') assert child_fork.get_addon('osfstorage').region_id == us.id fork = project.fork_node(Auth(user2)) child_fork = models.Node.objects.get_children(fork).first() assert fork.get_addon('osfstorage').region_id == canada.id assert fork.get_addon('osfstorage').user_settings == user2.get_addon('osfstorage') assert child_fork.get_addon('osfstorage').region_id == canada.id
def child_node_with_different_region(self, user, node, region2): child = NodeFactory(parent=node, creator=user, is_public=True) child_settings = child.get_addon('osfstorage') child_settings.region_id = region2.id child_settings.save() return child