def METHOD_NAME(self):
    ch1 = "channel-groups-unit-ch1"
    ch2 = "channel-groups-unit-ch2"
    gr = "channel-groups-unit-cg"
    pubnub = PubNub(pnconf_copy())
    # cleanup
    envelope = pubnub.remove_channel_group() \
        .channel_group(gr) \
        .sync()
    assert isinstance(envelope.result, PNChannelGroupsRemoveGroupResult)
    # add
    envelope = pubnub.add_channel_to_channel_group() \
        .channels([ch1, ch2]) \
        .channel_group(gr) \
        .sync()
    assert isinstance(envelope.result, PNChannelGroupsAddChannelResult)
    time.sleep(1)
    # list
    envelope = pubnub.list_channels_in_channel_group() \
        .channel_group(gr) \
        .sync()
    assert isinstance(envelope.result, PNChannelGroupsListResult)
    assert len(envelope.result.channels) == 2
    assert ch1 in envelope.result.channels
    assert ch2 in envelope.result.channels
    # remove
    envelope = pubnub.remove_channel_from_channel_group() \
        .channels([ch1, ch2]) \
        .channel_group(gr) \
        .sync()
    assert isinstance(envelope.result, PNChannelGroupsRemoveChannelResult)
    time.sleep(1)
    # list
    envelope = pubnub.list_channels_in_channel_group() \
        .channel_group(gr) \
        .sync()
    assert isinstance(envelope.result, PNChannelGroupsListResult)
    assert len(envelope.result.channels) == 0