dgorski / app_tdd

TDD Module for Asterisk
3 stars 2 forks source link

AMI action to enable Tdd #9

Closed InterLinked1 closed 2 years ago

InterLinked1 commented 2 years ago

There should be an AMI action to enable on a channel - similar to the TddRx() dialplan application - but an AMI action, so that this can be enabled asynchronously and arbitrarily on any channel at will.

dgorski commented 2 years ago

The TddRx manager action has been added, it can take the same options as the dialplan app (using the optional Options field in the manager request).

It uses the same code as the dialplan app so there is no reason why it wouldn't behave the same.

However, since I don't have a great way to test this right now I'm leaving it open until either I can test it or I get some feedback that it works properly.

dgorski commented 2 years ago

@InterLinked1 - are you able to test/confirm this new feature works as requested/documented?

InterLinked1 commented 2 years ago

Looks good, except for one thing: you are missing the ast_channel_unref call for the TddRx manager action. Without that, the channel is never unreferred, so you basically have to restart Asterisk after you use the action.

Fix that, and then it should be good to go. The TddRx enable part itself does work.

dgorski commented 2 years ago

@InterLinked1

Thanks - great catch, can't believe I missed that. Updated in the latest commit.

InterLinked1 commented 2 years ago

FYI, just in case it's helpful, this is the test program I've been using to test most stuff such as this issue: https://github.com/InterLinked1/AsTTYSpy

It's generic enough to test out different functionality, without having to write dedicated AMI logic for certain things, like I do for a more complex CA application that I have. The above is more a simple virtual TDD based on app_tdd.