Skip to content

Commit a664e44

Browse files
authored
test(visual recognition): re-enables vr tests and checks for status before deletion (#713)
* test(visual recognition): re-enables vr tests and checks for status before deletion * test(vr test): modifies test to allow deletion after failed training * test(vr tests): updates credentials
1 parent 7841904 commit a664e44

File tree

2 files changed

+35
-5
lines changed

2 files changed

+35
-5
lines changed

auth.js.enc

256 Bytes
Binary file not shown.

test/integration/test.visual_recognition.custom_classifiers.js

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)