@@ -17,7 +17,7 @@ const logit = function(string) {
1717 return string ;
1818} ;
1919
20- describe . skip ( 'visual_recognition_integration_custom_classifiers' , function ( ) {
20+ describe ( 'visual_recognition_integration_custom_classifiers' , function ( ) {
2121 // ugh.
2222 this . timeout ( THIRTY_SECONDS * 8 ) ;
2323 this . slow ( TWO_SECONDS ) ;
@@ -27,7 +27,7 @@ describe.skip('visual_recognition_integration_custom_classifiers', function() {
2727
2828 before ( function ( done ) {
2929 visual_recognition = new watson . VisualRecognitionV3 (
30- Object . assign ( { } , auth . visual_recognition . v3 , {
30+ Object . assign ( { } , auth . visual_recognition_rc . v3 , {
3131 version : '2018-03-19' ,
3232 } )
3333 ) ;
@@ -124,12 +124,42 @@ describe.skip('visual_recognition_integration_custom_classifiers', function() {
124124 } ) ;
125125 } ) ;
126126
127- it ( 'deleteClassifier()' , function ( done ) {
128- visual_recognition . deleteClassifier ( { classifier_id : classifier_id } , done ) ;
127+ describe ( 'deletion' , function ( ) {
128+ const test_training_status = function ( resolve , reject ) {
129+ // This evil recursive function will be used to verify that the classifier
130+ // has finished training. 'resolve' and 'reject' are functions from an
131+ // enclosing promise (or a follow-on callback for resolve if you prefer)
132+ visual_recognition . getClassifier ( { classifier_id : classifier_id } , function ( err , response ) {
133+ if ( err ) {
134+ reject ( err ) ;
135+ return ;
136+ }
137+ if ( response . status === 'failed' ) {
138+ logit ( `Classifier ${ classifier_id } failed training, ready for deletion.` ) ;
139+ resolve ( ) ;
140+ }
141+ if ( response . status !== 'ready' ) {
142+ logit ( JSON . stringify ( response ) ) ;
143+ logit ( `Classifier ${ classifier_id } status is ${ response . status } . Waiting 10 seconds.` ) ;
144+ setTimeout ( test_training_status , 10 * 1000 , resolve , reject ) ; // wait 10 seconds and try again
145+ } else {
146+ logit ( `Classifier ${ classifier_id } is ready.` ) ;
147+ resolve ( ) ;
148+ }
149+ } ) ;
150+ } ;
151+
152+ beforeEach ( function ( ) {
153+ return new Promise ( test_training_status ) ;
154+ } ) ;
155+
156+ it ( 'deleteClassifier()' , function ( done ) {
157+ visual_recognition . deleteClassifier ( { classifier_id : classifier_id } , done ) ;
158+ } ) ;
129159 } ) ;
130160 } ) ; // custom classifiers
131161
132- describe ( 'pre-populated classifier @slow' , function ( ) {
162+ describe . skip ( 'pre-populated classifier @slow' , function ( ) {
133163 let classifier_id ;
134164
135165 before ( function ( ) {
0 commit comments