Skip to content

Commit

Permalink
test(Visual Recognition): Refactor method names and run integration t…
Browse files Browse the repository at this point in the history
…ests in Travis
  • Loading branch information
lpatino10 committed Oct 18, 2018
1 parent f86b8a2 commit f70d52b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 48 deletions.
68 changes: 20 additions & 48 deletions force-app/main/test/IBMVisualRecognitionV3FTest.cls
@@ -1,77 +1,49 @@
public with sharing class IBMVisualRecognitionV3FTest {
// Make sure the named credentials below is defined
private static String NAMED_CREDENTIALS = 'callout:watson_visual_recognition_v3';
private static String API_KEY = '<your API key>';
private static String attachmentId = '<your attachment id>';
private static String URL = 'https://gateway.watsonplatform.net/visual-recognition/api';
private static String VERSION = '2016-05-20';

/**
* Test Analyze text, HTML, or a public webpage.
*
*/
public static IBMVisualRecognitionV3Models.ClassifiedImages testClassify() {
IBMVisualRecognitionV3 visualRecognition = new IBMVisualRecognitionV3('2016-05-20', API_KEY);
visualRecognition.setEndPoint('https://gateway-a.watsonplatform.net/visual-recognition/api/');
visualRecognition.setApiKey(API_KEY);
IBMVisualRecognitionV3Models.ClassifyOptions options = new IBMVisualRecognitionV3Models.ClassifyOptionsBuilder()
.url('http://www.godalmingmuseum.org.uk/uploads/images/People/Jekyll/Jekyll,_Gertrude,_middle_aged_Y.JPG')
public static void runAllTests(String iamApiKey) {
IBMWatsonIAMOptions iamOptions = new IBMWatsonIAMOptions.Builder()
.apiKey(iamApiKey)
.build();
IBMVisualRecognitionV3Models.ClassifiedImages resp = visualRecognition.classify(options);
System.debug('IBMVisualRecognitionV3FTest.testClassify(): ' + resp);
return resp;
IBMVisualRecognitionV3 service = new IBMVisualRecognitionV3(VERSION, iamOptions);
service.setEndPoint(URL);

testClassify(service);
testDetectFaces(service);
testGetCoreMlModel(service);
}

/**
* Test Analyze text, HTML, or a public webpage.
*
*/
public static IBMVisualRecognitionV3Models.ClassifiedImages testClassifyFile() {
IBMVisualRecognitionV3 visualRecognition = new IBMVisualRecognitionV3('2016-05-20', API_KEY);
visualRecognition.setEndPoint('https://gateway-a.watsonplatform.net/visual-recognition/api/');
visualRecognition.setApiKey(API_KEY);
Attachment att = [Select Id,Body,BodyLength,ContentType,Name,Description From Attachment where Id=:attachmentId];
IBMWatsonFile testfile = new IBMWatsonFile.FileBuilder()
.attachment(att)
.build();
public static IBMVisualRecognitionV3Models.ClassifiedImages testClassify(IBMVisualRecognitionV3 service) {
IBMVisualRecognitionV3Models.ClassifyOptions options = new IBMVisualRecognitionV3Models.ClassifyOptionsBuilder()
.acceptLanguage('en')
.imagesFile(testfile)
.imagesFilename(att.Name)
.imagesFileContentType(att.ContentType)
.url('http://www.godalmingmuseum.org.uk/uploads/images/People/Jekyll/Jekyll,_Gertrude,_middle_aged_Y.JPG')
.build();
IBMVisualRecognitionV3Models.ClassifiedImages resp = visualRecognition.classify(options);
IBMVisualRecognitionV3Models.ClassifiedImages resp = service.classify(options);
System.debug('IBMVisualRecognitionV3FTest.testClassify(): ' + resp);
return resp;
}

/**
* Test Analyze text, HTML, or a public webpage.
*
*/
public static IBMVisualRecognitionV3Models.DetectedFaces testDetectFaces() {
IBMVisualRecognitionV3 visualRecognition = new IBMVisualRecognitionV3('2016-05-20', API_KEY);
visualRecognition.setEndPoint(NAMED_CREDENTIALS);
Attachment att = [Select Id,Body,BodyLength,ContentType,Name,Description From Attachment where Id=:attachmentId];
IBMWatsonFile testfile = new IBMWatsonFile.FileBuilder()
.body(att.Body)
.name(att.Name)
.description(att.Description)
.contentType(att.ContentType)
.build();
public static IBMVisualRecognitionV3Models.DetectedFaces testDetectFaces(IBMVisualRecognitionV3 service) {
IBMVisualRecognitionV3Models.DetectFacesOptions options = new IBMVisualRecognitionV3Models.DetectFacesOptionsBuilder()
.imagesFile(testfile)
.imagesFilename(att.Name)
.imagesFileContentType(att.ContentType)
.url('https://watson-test-resources.mybluemix.net/resources/obama.jpg')
.build();
IBMVisualRecognitionV3Models.DetectedFaces resp = visualRecognition.detectFaces(options);
IBMVisualRecognitionV3Models.DetectedFaces resp = service.detectFaces(options);
System.debug('IBMVisualRecognitionV3FTest.testDetectFaces(): ' + resp);
return resp;
}

/**
* Test getting a Core ML model.
*/
public static IBMWatsonFile testGetCoreMlModel() {
IBMVisualRecognitionV3 service = new IBMVisualRecognitionV3('2016-05-20', API_KEY);
service.setEndPoint(NAMED_CREDENTIALS);

public static IBMWatsonFile testGetCoreMlModel(IBMVisualRecognitionV3 service) {
IBMVisualRecognitionV3Models.ListClassifiersOptions listOptions = new IBMVisualRecognitionV3Models.ListClassifiersOptionsBuilder()
.verbose(true)
.build();
Expand Down
4 changes: 4 additions & 0 deletions install/test-in-scratch-org.sh
Expand Up @@ -39,6 +39,10 @@ if [ "$TRAVIS_PULL_REQUEST" == "false" ] && [ "$TRAVIS_BRANCH" ]; then
echo "IBMAssistantV2FTests.runAllTests('$ASSISTANT_V2_USERNAME', '$ASSISTANT_V2_PASSWORD', '$ASSISTANT_V2_ASSISTANT_ID');" > AssistantV2TestRunner.apex
$(sfdx force:apex:execute -f AssistantV2TestRunner.apex --json | jq -e -r '.result.compiled == true and .result.success == true') && echo “Success” || exit 1
rm AssistantV2TestRunner.apex

echo "IBMVisualRecognitionV3FTest.runAllTests('$VISUAL_RECOGNITION_IAM_API_KEY');" > VisualRecognitionTestRunner.apex
$(sfdx force:apex:execute -f VisualRecognitionTestRunner.apex --json | jq -e -r '.result.compiled == true and .result.success == true') && echo “Success” || exit 1
rm VisualRecognitionTestRunner.apex

echo "Deploy to main organization"
sfdx force:org:delete -u ciorg -p
Expand Down

0 comments on commit f70d52b

Please sign in to comment.