Skip to content

Commit 5e6cc7f

Browse files
authored
adds unpair (#323)
1 parent 9a533e3 commit 5e6cc7f

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

destination/pair.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,14 @@ func (m PairManager) ActivatePair(pairUDID string) error {
8484

8585
return nil
8686
}
87+
88+
// Unpair removes an existing simulator pair.
89+
func (m PairManager) Unpair(pairUDID string) error {
90+
cmd := m.commandFactory.Create("xcrun", []string{"simctl", "unpair", pairUDID}, nil)
91+
out, err := cmd.RunAndReturnTrimmedCombinedOutput()
92+
if err != nil {
93+
return fmt.Errorf("delete pair: %w\n%s", err, out)
94+
}
95+
96+
return nil
97+
}

destination/pair_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,20 @@ func Test_GivenPairManager_WhenActivatePair_ThenCallsSimctlPairActivate(t *testi
140140

141141
commandFactory.AssertCalled(t, "Create", "xcrun", parameters, mock.Anything)
142142
}
143+
144+
func Test_GivenPairManager_WhenUnpair_ThenCallsSimctlUnpair(t *testing.T) {
145+
// Given
146+
commandFactory := new(mockcommand.CommandFactory)
147+
manager := NewPairManager(commandFactory)
148+
149+
parameters := []string{"simctl", "unpair", "PAIR-UUID"}
150+
commandFactory.On("Create", "xcrun", parameters, mock.Anything).Return(createCommand(""))
151+
152+
// When
153+
err := manager.Unpair("PAIR-UUID")
154+
155+
// Then
156+
require.NoError(t, err)
157+
158+
commandFactory.AssertCalled(t, "Create", "xcrun", parameters, mock.Anything)
159+
}

0 commit comments

Comments
 (0)