1//
2//  sc-41-cloudcircle.c
3//  sec
4//
5//  Created by Mitch Adler on 12/13/12.
6//
7//
8
9#include "SOSCircle_regressions.h"
10
11#include "SOSRegressionUtilities.h"
12
13#include <SecureObjectSync/SOSCloudCircle.h>
14#include <utilities/SecCFWrappers.h>
15
16static const int kSOSCCTestCount = 6;   // # of "ok"s in "tests" below
17static int kTestTestCount = kSOSCCTestCount;
18static void tests(void)
19{
20    CFErrorRef error = NULL;
21    CFDataRef cfpassword = CFDataCreate(NULL, (uint8_t *) "FooFooFoo", 10);
22
23    ok(SOSCCSetUserCredentials(CFSTR("foo1"), cfpassword, &error), "Added Creds (%@)", error);
24    CFReleaseNull(error);
25    CFReleaseNull(cfpassword);
26
27    ok(SOSCCThisDeviceIsInCircle(&error) == kSOSCCCircleAbsent, "Circle Absent (%@)", error);
28    CFReleaseNull(error);
29    ok(SOSCCResetToOffering(&error), "SOSCCOfferPotentialCircle (%@)", error);
30    CFReleaseNull(error);
31
32    ok(SOSCCThisDeviceIsInCircle(&error) == kSOSCCInCircle, "Circle Absent (%@)", error);
33    CFReleaseNull(error);
34    ok(SOSCCRemoveThisDeviceFromCircle(&error), "Leaving (%@)", error);
35    CFReleaseNull(error);
36
37    ok(SOSCCThisDeviceIsInCircle(&error) == kSOSCCCircleAbsent, "Circle Absent (%@)", error);
38    CFReleaseNull(error);
39}
40
41int sc_41_cloudcircle(int argc, char *const *argv)
42{
43    plan_tests(kTestTestCount);
44
45    tests();
46
47	return 0;
48}
49