diff --git a/cuegui/cuegui/MenuActions.py b/cuegui/cuegui/MenuActions.py index ea30ac484..42be94cca 100644 --- a/cuegui/cuegui/MenuActions.py +++ b/cuegui/cuegui/MenuActions.py @@ -1117,8 +1117,12 @@ def dropDepends(self, rpcObjects=None): "Drop dependencies on selected frames?\n" "(Drops all of the frame's dependencies)", names): + # Remove all dependency types + # - get what frame depends on and remove each one for frame in frames: - frame.dropDepends(opencue.api.depend_pb2.ANY_TARGET) + dependencies = frame.getWhatThisDependsOn() + for d in dependencies: + d.satisfy() self._update() dependWizard_info = ["Dependency &Wizard...", None, "configure"] diff --git a/cuegui/tests/MenuActions_tests.py b/cuegui/tests/MenuActions_tests.py index dea85612e..7c116b62c 100644 --- a/cuegui/tests/MenuActions_tests.py +++ b/cuegui/tests/MenuActions_tests.py @@ -971,17 +971,6 @@ def test_markAsWaiting(self, yesNoMock): self.job.markAsWaiting.assert_called_with(name=[frame_name]) - @mock.patch('opencue.search.FrameSearch') - @mock.patch('cuegui.Utils.questionBoxYesNo', return_value=True) - def test_dropDepends(self, yesNoMock, frameSearchMock): - frame_name = 'arbitrary-frame-name' - frame = opencue.wrappers.frame.Frame(opencue.compiled_proto.job_pb2.Frame(name=frame_name)) - frame.dropDepends = mock.Mock() - - self.frame_actions.dropDepends(rpcObjects=[frame]) - - frame.dropDepends.assert_called_with(opencue.api.depend_pb2.ANY_TARGET) - @mock.patch('cuegui.DependWizard.DependWizard') def test_dependWizard(self, dependWizardMock): frames = [opencue.wrappers.frame.Frame()] diff --git a/pycue/tests/wrappers/frame_test.py b/pycue/tests/wrappers/frame_test.py index 82dcc11ae..3a72bf3db 100644 --- a/pycue/tests/wrappers/frame_test.py +++ b/pycue/tests/wrappers/frame_test.py @@ -185,6 +185,19 @@ def testMarkAsWaiting(self, getStubMock): stubMock.MarkAsWaiting.assert_called_with( job_pb2.FrameMarkAsWaitingRequest(frame=frame.data), timeout=mock.ANY) + def testDropDepends(self, getStubMock): + stubMock = mock.Mock() + stubMock.DropDepends.return_value = job_pb2.FrameDropDependsResponse() + getStubMock.return_value = stubMock + + target = depend_pb2.ANY_TARGET + frame = opencue.wrappers.frame.Frame(job_pb2.Frame(name='arbitrary-frame-name')) + frame.dropDepends(target) + + stubMock.DropDepends.assert_called_with( + job_pb2.FrameDropDependsRequest(frame=frame.data, target=target), + timeout=mock.ANY) + def testRunTimeZero(self, getStubMock): zeroFrame = opencue.wrappers.frame.Frame( job_pb2.Frame(name=TEST_FRAME_NAME, start_time=0, stop_time=1000))