public async Task testUploadPhoto() { string token = await getAppToken(); PropertySet parameters = new PropertySet(); parameters.Add("access_token", Uri.EscapeUriString(token)); parameters.Add("permissions", FBTestPhotoUploadPermissions); FBTestUser user = await createTestUser(parameters); StorageFolder appFolder = Windows.ApplicationModel.Package.Current.InstalledLocation; StorageFile f = await appFolder.GetFileAsync( FBTestImagePath); IRandomAccessStreamWithContentType stream = await f.OpenReadAsync(); Assert.IsNotNull(stream); FBMediaStream fbStream = new FBMediaStream(FBTestImageName, stream); // Switch to user access token to post photo. parameters.Remove("access_token"); parameters.Add("access_token", user.AccessToken); parameters.Add("source", fbStream); string path = "/" + user.Id + "/photos"; FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBPhoto.FromJson)); FBResult result = await sval.Post(); Assert.IsTrue(result.Succeeded); try { FBPhoto pic = (FBPhoto)result.Object; } catch (InvalidCastException) { Assert.IsFalse(true, "Object returned was not of the " + "expected type (FBPhoto)."); } }
public async Task testListTestUsers() { string token = await getAppToken(); PropertySet parameters = new PropertySet(); string path = "/" + TestAppId + FBSDKTestUsersPath; Assert.IsNotNull(token); bool found = false; parameters.Add("access_token", Uri.EscapeUriString(token)); //Ensure we have at least one test user! FBTestUser user = await createTestUser(parameters); FBPaginatedArray arr = new FBPaginatedArray(path, parameters, new FBJsonClassFactory(FBTestUser.FromJson)); FBResult result = await arr.First(); Assert.IsTrue(result.Succeeded); IReadOnlyList <Object> users = (IReadOnlyList <Object>)result.Object; Assert.IsTrue(users.Count > 0); for (int i = 0; i < users.Count; i++) { try { FBTestUser testuser = (FBTestUser)users[i]; if (string.CompareOrdinal(testuser.Id, user.Id) == 0) { found = true; } } catch (InvalidCastException) { Assert.IsTrue(false, "Item returned is not expected type" + " (FBTestUser)"); } } Assert.IsTrue(found); await deleteTestUser(user); }
public async Task <FBResult> publishCustomUserObject( FBTestUser user ) { PropertySet parameters = new PropertySet(); string path = user.Id + "/objects/logincs:noun"; Assert.IsNotNull(user.AccessToken); parameters.Add("access_token", user.AccessToken); parameters.Add("object", FBCustomObjectInstance); FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBObject.FromJson)); return(await sval.Post()); }
public async Task <FBResult> publishCustomStory( FBTestUser user, FBObject customObject ) { PropertySet parameters = new PropertySet(); string path = user.Id + "/logincs:verb"; parameters.Add("noun", customObject.Id); parameters.Add("access_token", user.AccessToken); FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBObject.FromJson)); return(await sval.Post()); }
public async Task <FBResult> deleteTestUser( FBTestUser user ) { string token = await getAppToken(); PropertySet parameters = new PropertySet(); string path = "/" + user.Id; parameters.Add("access_token", Uri.EscapeUriString(token)); FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBSuccess.FromJson)); return(await sval.Delete()); }
private async Task <FBTestUser> createTestUser( PropertySet Parameters ) { FBTestUser user = null; bool success = false; // If you're creating/deleting test users frequently, like say in // a unit test suite, Facebook will occasionally fail this call with // the error code 1, type "OAuthException" and the message "An // unknown error occurred". Throwing in a short delay and retrying // almost always alleviates the problem, so adding a few retries // here greatly increases the robustness of the test suite. for (int retries = 0; (success == false) && (retries < 5); retries++) { string path = "/" + TestAppId + FBSDKTestUsersPath; FBSingleValue sval = new FBSingleValue(path, Parameters, new FBJsonClassFactory(FBTestUser.FromJson)); FBResult fbresult = await sval.Post(); if ((fbresult.Succeeded == false) || (fbresult.Object == null)) { await Task.Delay(TEST_RETRY_DELAY); } else { try { user = (FBTestUser)fbresult.Object; success = true; } catch (InvalidCastException) { Assert.IsTrue(false, "Item returned is not expected type" + " (FBTestUser)"); } } } Assert.IsNotNull(user); return(user); }
private async Task <FBObject> postToFeed( FBTestUser User, string Message ) { PropertySet parameters = new PropertySet(); parameters.Add("access_token", User.AccessToken); parameters.Add("message", Message); string path = "/" + User.Id + FBFeedPath; FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBObject.FromJson)); FBResult fbresult = await sval.Post(); return((FBObject)fbresult.Object); }
public async Task testPublishCustomStory() { string token = await getAppToken(); PropertySet parameters = new PropertySet(); FBObject customObject = null; FBObject customStory = null; parameters.Add("access_token", Uri.EscapeUriString(token)); parameters.Add("permissions", "public_profile,publish_actions,user_photos"); FBTestUser user = await createTestUser(parameters); FBResult result = await publishCustomUserObject(user); Assert.IsTrue(result.Succeeded); try { customObject = (FBObject)result.Object; } catch (InvalidCastException) { Assert.IsFalse(true, "Object returned was not of the " + "expected type (FBObject)."); } result = await publishCustomStory(user, customObject); Assert.IsTrue(result.Succeeded); try { customStory = (FBObject)result.Object; } catch (InvalidCastException) { Assert.IsFalse(true, "Object returned was not of the " + "expected type (FBObject)."); } }
public async Task testPostToTestUserFeed() { string appToken = await getAppToken(); PropertySet parameters = new PropertySet(); string permissions = "public_profile,user_friends,publish_actions"; string token = await getAppToken(); parameters.Add("access_token", appToken); parameters.Add("permissions", permissions); parameters.Add("installed", "true"); FBTestUser user = await createTestUser(parameters); Assert.IsNotNull(user); FBObject post = await postToFeed(user, FBSDKTestMessage); Assert.IsNotNull(post); await deleteTestUser(user); }
public async Task testLikeSomething() { string token = await getAppToken(); PropertySet parameters = new PropertySet(); parameters.Add("access_token", Uri.EscapeUriString(token)); parameters.Add("permissions", "public_profile,publish_actions,user_photos"); FBTestUser user = await createTestUser(parameters); string path = user.Id + "/og.likes"; // Because *everybody* likes these, amirite? string likedObject = Uri.EscapeUriString("http://en.wikipedia.org/wiki/Brussels_sprout"); parameters.Add("object", likedObject); FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBObject.FromJson)); FBResult result = await sval.Post(); Assert.IsTrue(result.Succeeded); try { FBObject like = (FBObject)result.Object; } catch (InvalidCastException) { Assert.IsFalse(true, "Object returned was not of the " + "expected type (FBObject)."); } }
public async Task<FBResult> publishCustomStory( FBTestUser user, FBObject customObject ) { PropertySet parameters = new PropertySet(); string path = user.Id + "/logincs:verb"; parameters.Add("noun", customObject.Id); parameters.Add("access_token", user.AccessToken); FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBObject.FromJson)); return await sval.PostAsync(); }
public async Task<FBResult> publishCustomUserObject( FBTestUser user ) { PropertySet parameters = new PropertySet(); string path = user.Id + "/objects/logincs:noun"; Assert.IsNotNull(user.AccessToken); parameters.Add("access_token", user.AccessToken); parameters.Add("object", FBCustomObjectInstance); FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBObject.FromJson)); return await sval.PostAsync(); }
public async Task<FBResult> deleteTestUser( FBTestUser user ) { string token = await getAppToken(); PropertySet parameters = new PropertySet(); string path = "/" + user.Id; parameters.Add("access_token", Uri.EscapeUriString(token)); FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBSuccess.FromJson)); return await sval.DeleteAsync(); }
private async Task<FBObject> postToFeed( FBTestUser User, string Message ) { PropertySet parameters = new PropertySet(); parameters.Add("access_token", User.AccessToken); parameters.Add("message", Message); string path = "/" + User.Id + FBFeedPath; FBSingleValue sval = new FBSingleValue(path, parameters, new FBJsonClassFactory(FBObject.FromJson)); FBResult fbresult = await sval.PostAsync(); return (FBObject)fbresult.Object; }