Script started on Mon 11 Jul 2016 12:12:00 AM UTC
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# git status[3Pmv tt tdzil install[5Pmv t ttdzil installcd ../../../..vi Attachment.pm Message.pm String.pm ContactGroup.pm [24Pcd lib/JMAP/Validation/Checks/vi Attachment.pm Message.pm String.pm ContactGroup.pm cd ../../../..[K^C
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# 
[37P(reverse-i-search)`':[Cs': git statuse': perl -we 'use Test2::Bundle::Extended; is(undef, U())'
[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[Ct': time IGNORE_INVALID_CERT=1 ./api-tests/setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/
[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
[34@root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests#[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
bash: ./api-tests/setContactGroups.t: No such file or directory

real	0m0.001s
user	0m0.000s
sys	0m0.000s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# ls -lrt
total 28
-rwxr-xr-x 1 root root  8904 Jun 23 07:26 [0m[01;32mgetContactGroups.t[0m
-rwxr-xr-x 1 root root 15690 Jul  7 02:14 [01;32msetContactGroups.t[0m
-rw-r--r-- 1 root root     0 Jul 11 00:12 typescript
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# cd ..
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION# cd api-tests/
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# cd api-tests/..[Kls -lrttime IGNORE_INVALID_CERT=1 ./api-tests/setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/
[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[1Pgit status[K^C
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# 
[37P(reverse-i-search)`':[Cs': cd api-tests/e': time IGNORE_INVALID_CERT=1 /api-tests/setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/
[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[1@t[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
[34@root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests#[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[1P[1P[1P[1P[1P[1P[1P[1P[1P[1P[1@.
# Seeded srand with seed '20160711' from local date.
Error getting contact group
# No tests run!
# Looks like your test exited with 255 after test #0.

real	0m22.556s
user	0m2.204s
sys	0m0.672s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time IGNORE_INVALID_CERT=1 ./setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/
[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C
[50P(arg: 1)[C2[C[C
[50@root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests#[CTI[C[C^C
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time IGNORE_INVALID_CERT=1 ./setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/
[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[C[1@a[C[1@ [1P[1P[C[1@ [1@D[1@E[1@B[1@U[1@G[1@=[1@1
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_method' => 'POST',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_content' => '[["contactGroups",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","list":[],"notFound":null,"state":"2475"},"a"]]',
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'expires' => 'Mon, 11 Jul 2016 00:13:12 GMT',
                                                        'date' => 'Mon, 11 Jul 2016 00:13:12 GMT',
                                                        'content-type' => 'application/json',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject'
                                                                        },
                                                        'client-date' => 'Mon, 11 Jul 2016 00:13:12 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'content-length' => '117',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-response-num' => 1,
                                                        'connection' => 'close',
                                                        'cache-control' => 'max-age=0'
                                                      }, 'HTTP::Headers' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":[],"update":{},"create":{}},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["setContactGroups",{"destroy":[],"update":{},"create":{}},"b"]]',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_content' => '[["contactGroupsSet",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","created":{},"destroyed":[],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"b"]]',
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_headers' => bless( {
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:13:14 GMT',
                                                        'client-response-num' => 1,
                                                        'cache-control' => 'max-age=0',
                                                        'connection' => 'close',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-length' => '202',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        '::std_case' => {
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:13:14 GMT',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'expires' => 'Mon, 11 Jul 2016 00:13:14 GMT'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":[],"update":{},"create":{"1":{"name":"at rem tempore dolore","contactIds":[]},"5":{"contactIds":[],"name":"similique natus earum error"},"2":{"name":"vero ut ducimus nihil","contactIds":[]},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"},"4":{"name":"distinctio totam debitis sapiente","contactIds":[]}}},"c"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_headers' => bless( {
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer'
                                                                        },
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:13:15 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'expires' => 'Mon, 11 Jul 2016 00:13:15 GMT',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:13:15 GMT',
                                                        'connection' => 'close',
                                                        'cache-control' => 'max-age=0',
                                                        'client-response-num' => 1,
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-length' => '43'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok',
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["setContactGroups",{"destroy":[],"update":{},"create":{"1":{"name":"at rem tempore dolore","contactIds":[]},"5":{"contactIds":[],"name":"similique natus earum error"},"2":{"name":"vero ut ducimus nihil","contactIds":[]},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"},"4":{"name":"distinctio totam debitis sapiente","contactIds":[]}}},"c"]]',
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_method' => 'POST',
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_content' => '[["error",{"type":"invalidArguments"},"c"]]'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"d"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroups",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","list":[],"notFound":null,"state":"2475"},"d"]]',
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["getContactGroups",{},"d"]]',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'date' => 'Mon, 11 Jul 2016 00:13:16 GMT',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:13:16 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher'
                                                                        },
                                                        'content-type' => 'application/json',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:13:16 GMT',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-length' => '117',
                                                        'client-response-num' => 1,
                                                        'cache-control' => 'max-age=0',
                                                        'connection' => 'close'
                                                      }, 'HTTP::Headers' )
                               }, 'HTTP::Response' )
        };
Error getting contact group
# No tests run!
# Looks like your test exited with 255 after test #0.

real	0m15.467s
user	0m2.032s
sys	0m0.556s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# 
[Kroot@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_method' => 'POST',
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:18:37 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        'expires' => 'Mon, 11 Jul 2016 00:18:37 GMT',
                                                        'content-length' => '117',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num'
                                                                        },
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:18:37 GMT',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["contactGroups",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","list":[],"notFound":null,"state":"2475"},"a"]]',
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":[],"update":{},"create":{}},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["setContactGroups",{"destroy":[],"update":{},"create":{}},"b"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class'
                                                                        },
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'content-length' => '202',
                                                        'expires' => 'Mon, 11 Jul 2016 00:18:43 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:18:43 GMT',
                                                        'connection' => 'close',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'date' => 'Mon, 11 Jul 2016 00:18:43 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok',
                                 '_content' => '[["contactGroupsSet",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","created":{},"destroyed":[],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"b"]]',
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"update":{},"create":{"1":{"contactIds":[],"name":"at rem tempore dolore"},"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"},"5":{"contactIds":[],"name":"similique natus earum error"},"2":{"contactIds":[],"name":"vero ut ducimus nihil"},"6":{"contactIds":[],"name":"deserunt quos omnis rerum"}},"destroy":[]},"c"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_msg' => 'ok',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["setContactGroups",{"update":{},"create":{"1":{"contactIds":[],"name":"at rem tempore dolore"},"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"},"5":{"contactIds":[],"name":"similique natus earum error"},"2":{"contactIds":[],"name":"vero ut ducimus nihil"},"6":{"contactIds":[],"name":"deserunt quos omnis rerum"}},"destroy":[]},"c"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'server' => 'nginx/1.6.2',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:18:49 GMT',
                                                        'expires' => 'Mon, 11 Jul 2016 00:18:49 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        'content-length' => '501',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class'
                                                                        },
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:18:49 GMT',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["contactGroupsSet",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","created":{"1":{"id":"0711db1c-46fd-11e6-a47c-080027a3c11d"},"2":{"id":"0711c956-46fd-11e6-a47c-080027a3c11d"},"3":{"id":"0711ddc4-46fd-11e6-a47c-080027a3c11d"},"4":{"id":"0711d4aa-46fd-11e6-a47c-080027a3c11d"},"5":{"id":"0711d842-46fd-11e6-a47c-080027a3c11d"},"6":{"id":"0711d0f4-46fd-11e6-a47c-080027a3c11d"}},"destroyed":[],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"c"]]',
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"d"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["getContactGroups",{},"d"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-peer' => '127.0.0.1:443',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        'date' => 'Mon, 11 Jul 2016 00:18:50 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:18:50 GMT',
                                                        'connection' => 'close',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'content-length' => '703',
                                                        'expires' => 'Mon, 11 Jul 2016 00:18:50 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        '::std_case' => {
                                                                          'client-date' => 'Client-Date',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok',
                                 '_content' => '[["contactGroups",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","list":[{"contactIds":[],"id":"0711d842-46fd-11e6-a47c-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"0711ddc4-46fd-11e6-a47c-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"0711d0f4-46fd-11e6-a47c-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"0711db1c-46fd-11e6-a47c-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"0711d4aa-46fd-11e6-a47c-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"0711c956-46fd-11e6-a47c-080027a3c11d","name":"vero ut ducimus nihil"}],"notFound":null,"state":"2476"},"d"]]'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"e"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_rc' => '200',
                                 '_content' => '[["contactGroups",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","list":[{"contactIds":[],"id":"0711c956-46fd-11e6-a47c-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"0711d4aa-46fd-11e6-a47c-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"0711d842-46fd-11e6-a47c-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"0711ddc4-46fd-11e6-a47c-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"0711d0f4-46fd-11e6-a47c-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"0711db1c-46fd-11e6-a47c-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"2476"},"e"]]',
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["getContactGroups",{},"e"]]',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:18:50 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:18:50 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        '::std_case' => {
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'cache-control' => 'max-age=0',
                                                        'expires' => 'Mon, 11 Jul 2016 00:18:50 GMT',
                                                        'content-length' => '703'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"ifInState":"2476","create":{"8":{"name":"iste qui dolores ut","contactIds":[]},"7":{"contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"],"name":"laudantium veritatis sit aut"}},"update":{"0711d0f4-46fd-11e6-a47c-080027a3c11d":{"name":"expedita esse aut voluptas","contactIds":null},"0711c956-46fd-11e6-a47c-080027a3c11d":{"contactIds":null,"name":"ut voluptas nisi corporis"},"0711db1c-46fd-11e6-a47c-080027a3c11d":{"contactIds":null,"name":"quo veritatis aperiam ducimus"},"0711ddc4-46fd-11e6-a47c-080027a3c11d":{"name":"consequatur itaque laborum laborum","contactIds":null},"0711d842-46fd-11e6-a47c-080027a3c11d":{"name":"voluptatum aut aspernatur voluptate","contactIds":null},"0711d4aa-46fd-11e6-a47c-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null}},"destroy":["0711c956-46fd-11e6-a47c-080027a3c11d","0711d4aa-46fd-11e6-a47c-080027a3c11d","0711d842-46fd-11e6-a47c-080027a3c11d","0711ddc4-46fd-11e6-a47c-080027a3c11d","0711d0f4-46fd-11e6-a47c-080027a3c11d","0711db1c-46fd-11e6-a47c-080027a3c11d"],"accountId":"7b284546-4319-11e6-9098-080027a3c11d"},"f"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroupsSet",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","created":{"7":{"id":"0ad8c2b0-46fd-11e6-a47c-080027a3c11d"},"8":{"id":"0ad8c738-46fd-11e6-a47c-080027a3c11d"}},"destroyed":["0711c956-46fd-11e6-a47c-080027a3c11d","0711d4aa-46fd-11e6-a47c-080027a3c11d","0711d842-46fd-11e6-a47c-080027a3c11d","0711ddc4-46fd-11e6-a47c-080027a3c11d","0711d0f4-46fd-11e6-a47c-080027a3c11d","0711db1c-46fd-11e6-a47c-080027a3c11d"],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":["0711c956-46fd-11e6-a47c-080027a3c11d","0711d0f4-46fd-11e6-a47c-080027a3c11d","0711db1c-46fd-11e6-a47c-080027a3c11d","0711d842-46fd-11e6-a47c-080027a3c11d","0711ddc4-46fd-11e6-a47c-080027a3c11d","0711d4aa-46fd-11e6-a47c-080027a3c11d"]},"f"]]',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["setContactGroups",{"ifInState":"2476","create":{"8":{"name":"iste qui dolores ut","contactIds":[]},"7":{"contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"],"name":"laudantium veritatis sit aut"}},"update":{"0711d0f4-46fd-11e6-a47c-080027a3c11d":{"name":"expedita esse aut voluptas","contactIds":null},"0711c956-46fd-11e6-a47c-080027a3c11d":{"contactIds":null,"name":"ut voluptas nisi corporis"},"0711db1c-46fd-11e6-a47c-080027a3c11d":{"contactIds":null,"name":"quo veritatis aperiam ducimus"},"0711ddc4-46fd-11e6-a47c-080027a3c11d":{"name":"consequatur itaque laborum laborum","contactIds":null},"0711d842-46fd-11e6-a47c-080027a3c11d":{"name":"voluptatum aut aspernatur voluptate","contactIds":null},"0711d4aa-46fd-11e6-a47c-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null}},"destroy":["0711c956-46fd-11e6-a47c-080027a3c11d","0711d4aa-46fd-11e6-a47c-080027a3c11d","0711d842-46fd-11e6-a47c-080027a3c11d","0711ddc4-46fd-11e6-a47c-080027a3c11d","0711d0f4-46fd-11e6-a47c-080027a3c11d","0711db1c-46fd-11e6-a47c-080027a3c11d"],"accountId":"7b284546-4319-11e6-9098-080027a3c11d"},"f"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:18:58 GMT',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-peer' => 'Client-Peer'
                                                                        },
                                                        'expires' => 'Mon, 11 Jul 2016 00:18:58 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        'content-length' => '767',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:18:58 GMT',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-warning' => 'Peer certificate not verified'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_rc' => '200'
                               }, 'HTTP::Response' )
        };
ok 1
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"g"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["getContactGroups",{},"g"]]',
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        'date' => 'Mon, 11 Jul 2016 00:18:58 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:18:58 GMT',
                                                        'connection' => 'close',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'content-length' => '703',
                                                        'cache-control' => 'max-age=0',
                                                        'expires' => 'Mon, 11 Jul 2016 00:18:58 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok',
                                 '_content' => '[["contactGroups",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","list":[{"contactIds":[],"id":"0711d4aa-46fd-11e6-a47c-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"0711d842-46fd-11e6-a47c-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"0711ddc4-46fd-11e6-a47c-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"0711d0f4-46fd-11e6-a47c-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"0711db1c-46fd-11e6-a47c-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"0711c956-46fd-11e6-a47c-080027a3c11d","name":"vero ut ducimus nihil"}],"notFound":null,"state":"2478"},"g"]]'
                               }, 'HTTP::Response' )
        };
not ok 2
# Failed test at ./setContactGroups.t line 189.
# +-----------+-----------------+-----------+---------------+----------+
# | PATH      | GOT             | OP        | CHECK         | LNs      |
# +-----------+-----------------+-----------+---------------+----------+
# |           | HASH(0x33dda50) |           | <HASH>        | 407, 456 |
# | {created} | HASH(0x33cbe90) | CODE(...) | <Custom Code> | 433      |
# +-----------+-----------------+-----------+---------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"h"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_headers' => bless( {
                                                        'client-date' => 'Mon, 11 Jul 2016 00:18:59 GMT',
                                                        'connection' => 'close',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'content-length' => '703',
                                                        'cache-control' => 'max-age=0',
                                                        'expires' => 'Mon, 11 Jul 2016 00:18:59 GMT',
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'date' => 'Mon, 11 Jul 2016 00:18:59 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["getContactGroups",{},"h"]]',
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_content' => '[["contactGroups",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","list":[{"contactIds":[],"id":"0711c956-46fd-11e6-a47c-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"0711d0f4-46fd-11e6-a47c-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"0711db1c-46fd-11e6-a47c-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"0711ddc4-46fd-11e6-a47c-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"0711d842-46fd-11e6-a47c-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"0711d4aa-46fd-11e6-a47c-080027a3c11d","name":"distinctio totam debitis sapiente"}],"notFound":null,"state":"2478"},"h"]]'
                               }, 'HTTP::Response' )
        };
^C

real	0m23.350s
user	0m0.232s
sys	0m0.052s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroups",{"accountId":"7b284546-4319-11e6-9098-080027a3c11d","list":[{"contactIds":[],"id":"0711c956-46fd-11e6-a47c-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"0711ddc4-46fd-11e6-a47c-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"0711d0f4-46fd-11e6-a47c-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"0711d842-46fd-11e6-a47c-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"0711db1c-46fd-11e6-a47c-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"0711d4aa-46fd-11e6-a47c-080027a3c11d","name":"distinctio totam debitis sapiente"}],"notFound":null,"state":"2478"},"a"]]',
                                 '_headers' => bless( {
                                                        'expires' => 'Mon, 11 Jul 2016 00:22:19 GMT',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-length' => '703',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:22:19 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher'
                                                                        },
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'content-type' => 'application/json',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'cache-control' => 'max-age=0',
                                                        'connection' => 'close',
                                                        'date' => 'Mon, 11 Jul 2016 00:22:19 GMT'
                                                      }, 'HTTP::Headers' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"update":{},"create":{},"destroy":["0711c956-46fd-11e6-a47c-080027a3c11d","0711ddc4-46fd-11e6-a47c-080027a3c11d","0711d0f4-46fd-11e6-a47c-080027a3c11d","0711d842-46fd-11e6-a47c-080027a3c11d","0711db1c-46fd-11e6-a47c-080027a3c11d","0711d4aa-46fd-11e6-a47c-080027a3c11d"]},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["setContactGroups",{"update":{},"create":{},"destroy":["0711c956-46fd-11e6-a47c-080027a3c11d","0711ddc4-46fd-11e6-a47c-080027a3c11d","0711d0f4-46fd-11e6-a47c-080027a3c11d","0711d842-46fd-11e6-a47c-080027a3c11d","0711db1c-46fd-11e6-a47c-080027a3c11d","0711d4aa-46fd-11e6-a47c-080027a3c11d"]},"b"]]'
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'content-type' => 'application/json',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        '::std_case' => {
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-date' => 'Client-Date'
                                                                        },
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:22:23 GMT',
                                                        'date' => 'Mon, 11 Jul 2016 00:22:23 GMT',
                                                        'connection' => 'close',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:22:23 GMT',
                                                        'content-length' => '3519',
                                                        'client-peer' => '127.0.0.1:443'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["error",{"message":"ERROR WITH REQUEST\\n<<<<<<<< DELETE https://carddav-d277161.messagingengine.com:443/dav/addressbooks/user/alfietest1@fastmail.com/Default/0711c956-46fd-11e6-a47c-080027a3c11d.vcf HTTP/1.1\\n\\n>>>>>>>> HTTP/1.1 404 Not Found\\n<!DOCTYPE HTML PUBLIC \\"-//W3C//DTD HTML 4.01 Transitional//EN\\" \\"http://www.w3.org/TR/html4/loose.dtd\\">\\n<html>\\n  <head>\\n    <title>404 Not Found</title>\\n  </head>\\n  <body>\\n    <h1>Not Found</h1>\\n    <p>The requested URL was not found on this server.</p>\\n    <hr>\\n    <address>Cyrus-HTTP/3.0.0-beta3-git-fastmail-13606 Cyrus-SASL/2.1.25 OpenSSL/1.0.0 Zlib/1.2.7 LibXML2.9.1 SQLite/3.7.13 LibiCal/2.0 ICU4C/58.0.1 Jansson/2.7 Server at carddav-d277161.messagingengine.com Port 2080</address>\\n  </body>\\n</html>\\n\\n========\\n\\n at /usr/local/share/perl/5.20.2/Net/DAVTalk.pm line 310.\\n\\tNet::DAVTalk::Request(Net::CardDAVTalk=HASH(0x4067b80), \\"DELETE\\", \\"Default/0711c956-46fd-11e6-a47c-080027a3c11d.vcf\\") called at /usr/local/share/perl/5.20.2/Net/CardDAVTalk.pm line 307\\n\\tNet::CardDAVTalk::DeleteContact(Net::CardDAVTalk=HASH(0x4067b80), \\"Default/0711c956-46fd-11e6-a47c-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/Sync/Common.pm line 169\\n\\tJMAP::Sync::Common::delete_card(JMAP::Sync::Standard=HASH(0x6b2aee0), \\"Default/0711c956-46fd-11e6-a47c-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/ImapDB.pm line 134\\n\\tJMAP::ImapDB::backend_cmd(JMAP::ImapDB=HASH(0x5a00c28), \\"delete_card\\", \\"Default/0711c956-46fd-11e6-a47c-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/ImapDB.pm line 1834\\n\\tJMAP::ImapDB::destroy_contact_groups(JMAP::ImapDB=HASH(0x5a00c28), ARRAY(0x6cea540)) called at /home/jmap/jmap-perl/JMAP/API.pm line 2248\\n\\tJMAP::API::setContactGroups(JMAP::API=HASH(0x6b2aa60), HASH(0x24679a8), \\"b\\") called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 601\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 601\\n\\tJMAP::Backend::handle_jmap(JMAP::ImapDB=HASH(0x5a00c28), ARRAY(0x2517660), \\"#1\\") called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 201\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 187\\n\\tJMAP::Backend::__ANON__(AnyEvent::Handle=HASH(0x6cea3c0), ARRAY(0x244ce08)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 1735\\n\\tAnyEvent::Handle::__ANON__(AnyEvent::Handle=HASH(0x6cea3c0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 1310\\n\\tAnyEvent::Handle::_drain_rbuf(AnyEvent::Handle=HASH(0x6cea3c0)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 2009\\n\\tAnyEvent::Handle::__ANON__(EV::IO=SCALAR(0x243ff28), 1) called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 120\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 120\\n\\tJMAP::Backend::process_request(JMAP::Backend=HASH(0x1e12738), Net::Server::Proto::TCP=GLOB(0x6cea0a8)) called at /usr/local/share/perl/5.20.2/Net/Server.pm line 74\\n\\tNet::Server::run_client_connection(JMAP::Backend=HASH(0x1e12738)) called at /usr/local/share/perl/5.20.2/Net/Server/Fork.pm line 199\\n\\tNet::Server::Fork::run_client_connection(JMAP::Backend=HASH(0x1e12738)) called at /usr/local/share/perl/5.20.2/Net/Server/Fork.pm line 144\\n\\tNet::Server::Fork::loop(JMAP::Backend=HASH(0x1e12738)) called at /usr/local/share/perl/5.20.2/Net/Server.pm line 60\\n\\tNet::Server::run(\\"JMAP::Backend\\", \\"host\\", \\"127.0.0.1\\", \\"port\\", 5000) called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 124\\n","type":"serverError"},"b"]]',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"update":{},"create":{"5":{"contactIds":[],"name":"similique natus earum error"},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"},"4":{"contactIds":[],"name":"distinctio totam debitis sapiente"},"2":{"name":"vero ut ducimus nihil","contactIds":[]},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"1":{"name":"at rem tempore dolore","contactIds":[]}},"destroy":[]},"c"]]'
        };
^C

real	0m7.171s
user	0m0.212s
sys	0m0.036s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };





^C

real	0m23.154s
user	0m0.208s
sys	0m0.020s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 7b284546-4319-11e6-9098-080027a3c11d:https://jmap-proxy.local/jmap/7b284546-4319-11e6-9098-080027a3c11d/[K[C 
[Kroot@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t [C [K18155a1e-46fe-11e6-85de-080027a3c11d/ [K:https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":["sint fugit earum eius","sit aspernatur non perspiciatis"],"id":"0ad8c2b0-46fd-11e6-a47c-080027a3c11d","name":"laudantium veritatis sit aut"},{"contactIds":[],"id":"0ad8c738-46fd-11e6-a47c-080027a3c11d","name":"iste qui dolores ut"}],"notFound":null,"state":"5"},"a"]]',
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'expires' => 'Mon, 11 Jul 2016 00:26:56 GMT',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'client-response-num' => 1,
                                                        'content-length' => '361',
                                                        'date' => 'Mon, 11 Jul 2016 00:26:56 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'access-control-allow-origin' => '*',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:26:56 GMT',
                                                        'connection' => 'close'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"update":{},"destroy":["0ad8c2b0-46fd-11e6-a47c-080027a3c11d","0ad8c738-46fd-11e6-a47c-080027a3c11d"],"create":{}},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroupsSet",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","created":{},"destroyed":["0ad8c2b0-46fd-11e6-a47c-080027a3c11d","0ad8c738-46fd-11e6-a47c-080027a3c11d"],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"b"]]',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_method' => 'POST',
                                                        '_content' => '[["setContactGroups",{"update":{},"destroy":["0ad8c2b0-46fd-11e6-a47c-080027a3c11d","0ad8c738-46fd-11e6-a47c-080027a3c11d"],"create":{}},"b"]]'
                                                      }, 'HTTP::Request' ),
                                 '_protocol' => 'HTTP/1.1',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        '::std_case' => {
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'access-control-allow-origin' => '*',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:26:59 GMT',
                                                        'connection' => 'close',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'content-length' => '279',
                                                        'client-response-num' => 1,
                                                        'date' => 'Mon, 11 Jul 2016 00:26:59 GMT',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'expires' => 'Mon, 11 Jul 2016 00:26:59 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'cache-control' => 'max-age=0'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"create":{"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"},"1":{"contactIds":[],"name":"at rem tempore dolore"},"5":{"contactIds":[],"name":"similique natus earum error"},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"2":{"name":"vero ut ducimus nihil","contactIds":[]}},"destroy":[],"update":{}},"c"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroupsSet",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","created":{"1":{"id":"2f43c1da-46fe-11e6-9854-080027a3c11d"},"2":{"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d"},"3":{"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d"},"4":{"id":"2f43b924-46fe-11e6-9854-080027a3c11d"},"5":{"id":"2f43bb90-46fe-11e6-9854-080027a3c11d"},"6":{"id":"2f43b47e-46fe-11e6-9854-080027a3c11d"}},"destroyed":[],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"c"]]',
                                 '_request' => bless( {
                                                        '_content' => '[["setContactGroups",{"create":{"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"},"1":{"contactIds":[],"name":"at rem tempore dolore"},"5":{"contactIds":[],"name":"similique natus earum error"},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"2":{"name":"vero ut ducimus nihil","contactIds":[]}},"destroy":[],"update":{}},"c"]]',
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'server' => 'nginx/1.6.2',
                                                        'expires' => 'Mon, 11 Jul 2016 00:27:06 GMT',
                                                        'content-length' => '501',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'content-type' => 'application/json',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'date' => 'Mon, 11 Jul 2016 00:27:06 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'client-date' => 'Mon, 11 Jul 2016 00:27:06 GMT',
                                                        'connection' => 'close',
                                                        'access-control-allow-origin' => '*'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok',
                                 '_rc' => '200'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"d"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"}],"notFound":null,"state":"7"},"d"]]',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"d"]]'
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'content-type' => 'application/json',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-response-num' => 1,
                                                        'content-length' => '700',
                                                        'date' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'access-control-allow-origin' => '*',
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'expires' => 'Mon, 11 Jul 2016 00:27:07 GMT'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"e"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["getContactGroups",{},"e"]]',
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"7"},"e"]]',
                                 '_protocol' => 'HTTP/1.1',
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'server' => 'nginx/1.6.2',
                                                        'expires' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'cache-control' => 'max-age=0',
                                                        '::std_case' => {
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher'
                                                                        },
                                                        'client-date' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        'connection' => 'close',
                                                        'access-control-allow-origin' => '*',
                                                        'content-length' => '700',
                                                        'client-response-num' => 1,
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'date' => 'Mon, 11 Jul 2016 00:27:07 GMT'
                                                      }, 'HTTP::Headers' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"ifInState":"7","create":{"7":{"contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"],"name":"laudantium veritatis sit aut"},"8":{"name":"iste qui dolores ut","contactIds":[]}},"update":{"2f43bfd2-46fe-11e6-9854-080027a3c11d":{"name":"ut voluptas nisi corporis","contactIds":null},"2f43c1da-46fe-11e6-9854-080027a3c11d":{"name":"quo veritatis aperiam ducimus","contactIds":null},"2f43bdc0-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"consequatur itaque laborum laborum"},"2f43b47e-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"expedita esse aut voluptas"},"2f43bb90-46fe-11e6-9854-080027a3c11d":{"name":"voluptatum aut aspernatur voluptate","contactIds":null},"2f43b924-46fe-11e6-9854-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null}},"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/","destroy":["2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"]},"f"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        'content-length' => '42',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        '::std_case' => {
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject'
                                                                        },
                                                        'client-date' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        'connection' => 'close',
                                                        'access-control-allow-origin' => '*'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["error",{"type":"accountNotFound"},"f"]]',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["setContactGroups",{"ifInState":"7","create":{"7":{"contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"],"name":"laudantium veritatis sit aut"},"8":{"name":"iste qui dolores ut","contactIds":[]}},"update":{"2f43bfd2-46fe-11e6-9854-080027a3c11d":{"name":"ut voluptas nisi corporis","contactIds":null},"2f43c1da-46fe-11e6-9854-080027a3c11d":{"name":"quo veritatis aperiam ducimus","contactIds":null},"2f43bdc0-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"consequatur itaque laborum laborum"},"2f43b47e-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"expedita esse aut voluptas"},"2f43bb90-46fe-11e6-9854-080027a3c11d":{"name":"voluptatum aut aspernatur voluptate","contactIds":null},"2f43b924-46fe-11e6-9854-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null}},"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/","destroy":["2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"]},"f"]]',
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 26.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 34.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 42.
not ok 1
# Failed test at ./setContactGroups.t line 188.
# +---------------------------------+------------------+-----------+---------------+----------+
# | PATH                            | GOT              | OP        | CHECK         | LNs      |
# +---------------------------------+------------------+-----------+---------------+----------+
# | {accountId} <Check 0>           | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 1> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 27       |
# | {accountId} <Check 2> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 3> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {created} <Check 0>             | <DOES NOT EXIST> |           | <HASH>        | 153, 153 |
# | {updated}                       | <DOES NOT EXIST> |           | <ARRAY>       | 167      |
# | {destroyed}                     | <DOES NOT EXIST> |           | <ARRAY>       | 167      |
# | {notCreated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 171, 171 |
# | {notUpdated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 186, 186 |
# | {notDestroyed} <Check 0>        | <DOES NOT EXIST> |           | <HASH>        | 207, 207 |
# +---------------------------------+------------------+-----------+---------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"g"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher'
                                                                        },
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'client-response-num' => 1,
                                                        'content-length' => '700',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'date' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:27:07 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'cache-control' => 'max-age=0'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"}],"notFound":null,"state":"7"},"g"]]',
                                 '_request' => bless( {
                                                        '_content' => '[["getContactGroups",{},"g"]]',
                                                        '_method' => 'POST',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
not ok 2
# Failed test at ./setContactGroups.t line 189.
# +----------------+------------------+-----------+---------------------------------------+----------+
# | PATH           | GOT              | OP        | CHECK                                 | LNs      |
# +----------------+------------------+-----------+---------------------------------------+----------+
# |                | HASH(0x3b97b78)  |           | <HASH>                                | 407, 456 |
# | {accountId}    | <DOES NOT EXIST> |           | 18155a1e-46fe-11e6-85de-080027a3c11d/ | 408      |
# | {created}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 433      |
# | {updated}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 442      |
# | {destroyed}    | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 451      |
# | {notCreated}   | <DOES NOT EXIST> |           | <HASH>                                | 453      |
# | {notUpdated}   | <DOES NOT EXIST> |           | <HASH>                                | 454      |
# | {notDestroyed} | <DOES NOT EXIST> |           | <HASH>                                | 455      |
# +----------------+------------------+-----------+---------------------------------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"h"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"}],"notFound":null,"state":"7"},"h"]]',
                                 '_request' => bless( {
                                                        '_content' => '[["getContactGroups",{},"h"]]',
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'expires' => 'Mon, 11 Jul 2016 00:27:08 GMT',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:27:08 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date'
                                                                        },
                                                        'date' => 'Mon, 11 Jul 2016 00:27:08 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        'content-length' => '700'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200'
                               }, 'HTTP::Response' )
        };
^C

real	0m13.299s
user	0m0.268s
sys	0m0.012s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# 
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# 
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 18155a1e-46fe-11e6-85de-080027a3c11d/:https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_headers' => bless( {
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:39 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'content-length' => '700',
                                                        'connection' => 'close',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:39 GMT',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:39 GMT',
                                                        '::std_case' => {
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher'
                                                                        }
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"7"},"a"]]',
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":["2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"],"create":{},"update":{}},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_headers' => bless( {
                                                        '::std_case' => {
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class'
                                                                        },
                                                        'date' => 'Mon, 11 Jul 2016 00:29:40 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:40 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'connection' => 'close',
                                                        'content-length' => '208',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:40 GMT',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'cache-control' => 'max-age=0',
                                                        'client-peer' => '127.0.0.1:443'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_content' => '[["error",{"message":"Undefined subroutine &JMAP::Validation::Checks::ContactGroup::Dumper called at /usr/local/share/perl/5.20.2/JMAP/Validation/Checks/ContactGroup.pm line 79.\\n","type":"serverError"},"b"]]',
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["setContactGroups",{"destroy":["2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"],"create":{},"update":{}},"b"]]'
                                                      }, 'HTTP::Request' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"create":{"2":{"name":"vero ut ducimus nihil","contactIds":[]},"5":{"contactIds":[],"name":"similique natus earum error"},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"3":{"name":"ratione voluptas ut incidunt","contactIds":[]},"1":{"name":"at rem tempore dolore","contactIds":[]}},"update":{},"destroy":[]},"c"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:41 GMT',
                                                        'client-response-num' => 1,
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-response-num' => 'Client-Response-Num'
                                                                        },
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:41 GMT',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:41 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'connection' => 'close',
                                                        'content-length' => '208'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["error",{"message":"Undefined subroutine &JMAP::Validation::Checks::ContactGroup::Dumper called at /usr/local/share/perl/5.20.2/JMAP/Validation/Checks/ContactGroup.pm line 79.\\n","type":"serverError"},"c"]]',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["setContactGroups",{"create":{"2":{"name":"vero ut ducimus nihil","contactIds":[]},"5":{"contactIds":[],"name":"similique natus earum error"},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"3":{"name":"ratione voluptas ut incidunt","contactIds":[]},"1":{"name":"at rem tempore dolore","contactIds":[]}},"update":{},"destroy":[]},"c"]]',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"d"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"}],"notFound":null,"state":"7"},"d"]]',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'date' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'content-type' => 'application/json',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-response-num' => 'Client-Response-Num'
                                                                        },
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'connection' => 'close',
                                                        'content-length' => '700',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'client-response-num' => 1,
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL'
                                                      }, 'HTTP::Headers' ),
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_content' => '[["getContactGroups",{},"d"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"e"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"7"},"e"]]',
                                 '_headers' => bless( {
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'connection' => 'close',
                                                        'content-length' => '700',
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'date' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["getContactGroups",{},"e"]]',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"ifInState":"7","accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/","create":{"7":{"name":"laudantium veritatis sit aut","contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"]},"8":{"contactIds":[],"name":"iste qui dolores ut"}},"update":{"2f43bfd2-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"ut voluptas nisi corporis"},"2f43c1da-46fe-11e6-9854-080027a3c11d":{"name":"quo veritatis aperiam ducimus","contactIds":null},"2f43bdc0-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"consequatur itaque laborum laborum"},"2f43bb90-46fe-11e6-9854-080027a3c11d":{"name":"voluptatum aut aspernatur voluptate","contactIds":null},"2f43b47e-46fe-11e6-9854-080027a3c11d":{"name":"expedita esse aut voluptas","contactIds":null},"2f43b924-46fe-11e6-9854-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null}},"destroy":["2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"]},"f"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_content' => '[["setContactGroups",{"ifInState":"7","accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/","create":{"7":{"name":"laudantium veritatis sit aut","contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"]},"8":{"contactIds":[],"name":"iste qui dolores ut"}},"update":{"2f43bfd2-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"ut voluptas nisi corporis"},"2f43c1da-46fe-11e6-9854-080027a3c11d":{"name":"quo veritatis aperiam ducimus","contactIds":null},"2f43bdc0-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"consequatur itaque laborum laborum"},"2f43bb90-46fe-11e6-9854-080027a3c11d":{"name":"voluptatum aut aspernatur voluptate","contactIds":null},"2f43b47e-46fe-11e6-9854-080027a3c11d":{"name":"expedita esse aut voluptas","contactIds":null},"2f43b924-46fe-11e6-9854-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null}},"destroy":["2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"]},"f"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_content' => '[["error",{"message":"Undefined subroutine &JMAP::Validation::Checks::ContactGroup::Dumper called at /usr/local/share/perl/5.20.2/JMAP/Validation/Checks/ContactGroup.pm line 79.\\n","type":"serverError"},"f"]]',
                                 '_headers' => bless( {
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'content-length' => '208',
                                                        'connection' => 'close',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:42 GMT'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 26.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 34.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 42.
not ok 1
# Failed test at ./setContactGroups.t line 188.
# +---------------------------------+------------------+-----------+---------------+----------+
# | PATH                            | GOT              | OP        | CHECK         | LNs      |
# +---------------------------------+------------------+-----------+---------------+----------+
# | {accountId} <Check 0>           | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 1> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 27       |
# | {accountId} <Check 2> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 3> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {created} <Check 0>             | <DOES NOT EXIST> |           | <HASH>        | 154, 154 |
# | {updated}                       | <DOES NOT EXIST> |           | <ARRAY>       | 168      |
# | {destroyed}                     | <DOES NOT EXIST> |           | <ARRAY>       | 168      |
# | {notCreated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 172, 172 |
# | {notUpdated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 187, 187 |
# | {notDestroyed} <Check 0>        | <DOES NOT EXIST> |           | <HASH>        | 208, 208 |
# +---------------------------------+------------------+-----------+---------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"g"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"7"},"g"]]',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'connection' => 'close',
                                                        'content-length' => '700',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'content-type' => 'application/json',
                                                        '::std_case' => {
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'client-response-num' => 1,
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:42 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*'
                                                      }, 'HTTP::Headers' ),
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"g"]]',
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' )
                               }, 'HTTP::Response' )
        };
not ok 2
# Failed test at ./setContactGroups.t line 189.
# +----------------+------------------+-----------+---------------------------------------+----------+
# | PATH           | GOT              | OP        | CHECK                                 | LNs      |
# +----------------+------------------+-----------+---------------------------------------+----------+
# |                | HASH(0x30922f0)  |           | <HASH>                                | 407, 456 |
# | {accountId}    | <DOES NOT EXIST> |           | 18155a1e-46fe-11e6-85de-080027a3c11d/ | 408      |
# | {created}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 433      |
# | {updated}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 442      |
# | {destroyed}    | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 451      |
# | {notCreated}   | <DOES NOT EXIST> |           | <HASH>                                | 453      |
# | {notUpdated}   | <DOES NOT EXIST> |           | <HASH>                                | 454      |
# | {notDestroyed} | <DOES NOT EXIST> |           | <HASH>                                | 455      |
# +----------------+------------------+-----------+---------------------------------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"h"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_msg' => 'ok',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_content' => '[["getContactGroups",{},"h"]]',
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"7"},"h"]]',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'connection' => 'close',
                                                        'content-length' => '700',
                                                        '::std_case' => {
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer'
                                                                        },
                                                        'date' => 'Mon, 11 Jul 2016 00:29:44 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:44 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:43 GMT',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'cache-control' => 'max-age=0',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*'
                                                      }, 'HTTP::Headers' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":["2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"],"update":{},"create":{}},"i"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["error",{"message":"Undefined subroutine &JMAP::Validation::Checks::ContactGroup::Dumper called at /usr/local/share/perl/5.20.2/JMAP/Validation/Checks/ContactGroup.pm line 79.\\n","type":"serverError"},"i"]]',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:45 GMT',
                                                        'client-response-num' => 1,
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'connection' => 'close',
                                                        'content-length' => '208',
                                                        '::std_case' => {
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:45 GMT',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:45 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_content' => '[["setContactGroups",{"destroy":["2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"],"update":{},"create":{}},"i"]]',
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"create":{"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"3":{"name":"ratione voluptas ut incidunt","contactIds":[]},"5":{"contactIds":[],"name":"similique natus earum error"},"2":{"name":"vero ut ducimus nihil","contactIds":[]},"1":{"name":"at rem tempore dolore","contactIds":[]}},"update":{},"destroy":[]},"j"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_content' => '[["setContactGroups",{"create":{"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"3":{"name":"ratione voluptas ut incidunt","contactIds":[]},"5":{"contactIds":[],"name":"similique natus earum error"},"2":{"name":"vero ut ducimus nihil","contactIds":[]},"1":{"name":"at rem tempore dolore","contactIds":[]}},"update":{},"destroy":[]},"j"]]',
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_content' => '[["error",{"message":"Undefined subroutine &JMAP::Validation::Checks::ContactGroup::Dumper called at /usr/local/share/perl/5.20.2/JMAP/Validation/Checks/ContactGroup.pm line 79.\\n","type":"serverError"},"j"]]',
                                 '_headers' => bless( {
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:46 GMT',
                                                        'client-response-num' => 1,
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'content-length' => '208',
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:46 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher'
                                                                        },
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:46 GMT'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"k"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"}],"notFound":null,"state":"7"},"k"]]',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num'
                                                                        },
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'connection' => 'close',
                                                        'content-length' => '700'
                                                      }, 'HTTP::Headers' ),
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["getContactGroups",{},"k"]]',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"l"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"7"},"l"]]',
                                 '_headers' => bless( {
                                                        'content-length' => '700',
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num'
                                                                        },
                                                        'date' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'content-type' => 'application/json',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["getContactGroups",{},"l"]]',
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"ifInState":"7","accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/","create":{"8":{"name":"amet harum dolorem non","contactIds":[]},"7":{"name":"et labore et nihil","contactIds":["repellat ab dignissimos voluptatem","est molestiae eos quia"]}},"update":{"2f43b924-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"perferendis consequatur quo beatae"},"2f43b47e-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"nulla nesciunt odio natus"},"2f43bb90-46fe-11e6-9854-080027a3c11d":{"name":"ea ut ullam laborum","contactIds":null},"2f43bdc0-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"voluptatem et doloremque repudiandae"},"2f43c1da-46fe-11e6-9854-080027a3c11d":{"name":"omnis cum deleniti natus","contactIds":null},"2f43bfd2-46fe-11e6-9854-080027a3c11d":{"name":"quibusdam corporis et et","contactIds":null}}},"m"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["error",{"message":"Undefined subroutine &JMAP::Validation::Checks::ContactGroup::Dumper called at /usr/local/share/perl/5.20.2/JMAP/Validation/Checks/ContactGroup.pm line 79.\\n","type":"serverError"},"m"]]',
                                 '_headers' => bless( {
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'date' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'connection' => 'close',
                                                        'content-length' => '208',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-peer' => '127.0.0.1:443'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["setContactGroups",{"ifInState":"7","accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/","create":{"8":{"name":"amet harum dolorem non","contactIds":[]},"7":{"name":"et labore et nihil","contactIds":["repellat ab dignissimos voluptatem","est molestiae eos quia"]}},"update":{"2f43b924-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"perferendis consequatur quo beatae"},"2f43b47e-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"nulla nesciunt odio natus"},"2f43bb90-46fe-11e6-9854-080027a3c11d":{"name":"ea ut ullam laborum","contactIds":null},"2f43bdc0-46fe-11e6-9854-080027a3c11d":{"contactIds":null,"name":"voluptatem et doloremque repudiandae"},"2f43c1da-46fe-11e6-9854-080027a3c11d":{"name":"omnis cum deleniti natus","contactIds":null},"2f43bfd2-46fe-11e6-9854-080027a3c11d":{"name":"quibusdam corporis et et","contactIds":null}}},"m"]]',
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' )
                               }, 'HTTP::Response' )
        };
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 26.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 34.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 42.
not ok 3
# Failed test at ./setContactGroups.t line 188.
# +---------------------------------+------------------+-----------+---------------+----------+
# | PATH                            | GOT              | OP        | CHECK         | LNs      |
# +---------------------------------+------------------+-----------+---------------+----------+
# | {accountId} <Check 0>           | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 1> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 27       |
# | {accountId} <Check 2> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 3> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {created} <Check 0>             | <DOES NOT EXIST> |           | <HASH>        | 154, 154 |
# | {updated}                       | <DOES NOT EXIST> |           | <ARRAY>       | 168      |
# | {destroyed}                     | <DOES NOT EXIST> |           | <ARRAY>       | 168      |
# | {notCreated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 172, 172 |
# | {notUpdated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 187, 187 |
# | {notDestroyed} <Check 0>        | <DOES NOT EXIST> |           | <HASH>        | 208, 208 |
# +---------------------------------+------------------+-----------+---------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"n"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_content' => '[["getContactGroups",{},"n"]]',
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'client-response-num' => 1,
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject'
                                                                        },
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:47 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'connection' => 'close',
                                                        'content-length' => '700'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"7"},"n"]]',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
not ok 4
# Failed test at ./setContactGroups.t line 189.
# +----------------+------------------+-----------+---------------------------------------+----------+
# | PATH           | GOT              | OP        | CHECK                                 | LNs      |
# +----------------+------------------+-----------+---------------------------------------+----------+
# |                | HASH(0x35bfd88)  |           | <HASH>                                | 407, 456 |
# | {accountId}    | <DOES NOT EXIST> |           | 18155a1e-46fe-11e6-85de-080027a3c11d/ | 408      |
# | {created}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 433      |
# | {updated}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 442      |
# | {notCreated}   | <DOES NOT EXIST> |           | <HASH>                                | 453      |
# | {notUpdated}   | <DOES NOT EXIST> |           | <HASH>                                | 454      |
# | {notDestroyed} | <DOES NOT EXIST> |           | <HASH>                                | 455      |
# +----------------+------------------+-----------+---------------------------------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"o"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_headers' => bless( {
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:48 GMT',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:48 GMT',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:48 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num'
                                                                        },
                                                        'content-length' => '700',
                                                        'connection' => 'close'
                                                      }, 'HTTP::Headers' ),
                                 '_rc' => '200',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"7"},"o"]]',
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["getContactGroups",{},"o"]]',
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":["2f43b924-46fe-11e6-9854-080027a3c11d","2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"],"update":{},"create":{}},"p"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_content' => '[["setContactGroups",{"destroy":["2f43b924-46fe-11e6-9854-080027a3c11d","2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d"],"update":{},"create":{}},"p"]]',
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:29:49 GMT',
                                                        'content-type' => 'application/json',
                                                        'date' => 'Mon, 11 Jul 2016 00:29:49 GMT',
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date'
                                                                        },
                                                        'content-length' => '208',
                                                        'connection' => 'close',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'expires' => 'Mon, 11 Jul 2016 00:29:49 GMT'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["error",{"message":"Undefined subroutine &JMAP::Validation::Checks::ContactGroup::Dumper called at /usr/local/share/perl/5.20.2/JMAP/Validation/Checks/ContactGroup.pm line 79.\\n","type":"serverError"},"p"]]'
                               }, 'HTTP::Response' )
        };
^C

real	0m11.331s
user	0m0.240s
sys	0m0.076s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 18155a1e-46fe-11e6-85de-080027a3c11d/:https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:30:38 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'date' => 'Mon, 11 Jul 2016 00:30:38 GMT',
                                                        '::std_case' => {
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'connection' => 'close',
                                                        'content-length' => '700',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:30:38 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0'
                                                      }, 'HTTP::Headers' ),
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_rc' => '200',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"2f43bfd2-46fe-11e6-9854-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"2f43b47e-46fe-11e6-9854-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"2f43bdc0-46fe-11e6-9854-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"2f43b924-46fe-11e6-9854-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"2f43c1da-46fe-11e6-9854-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"2f43bb90-46fe-11e6-9854-080027a3c11d","name":"similique natus earum error"}],"notFound":null,"state":"7"},"a"]]'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"update":{},"destroy":["2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d"],"create":{}},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_headers' => bless( {
                                                        'date' => 'Mon, 11 Jul 2016 00:30:46 GMT',
                                                        'content-length' => '435',
                                                        'connection' => 'close',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'client-date' => 'Mon, 11 Jul 2016 00:30:46 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'expires' => 'Mon, 11 Jul 2016 00:30:46 GMT',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'content-type' => 'application/json'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["setContactGroups",{"update":{},"destroy":["2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d"],"create":{}},"b"]]',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_content' => '[["contactGroupsSet",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","created":{},"destroyed":["2f43bfd2-46fe-11e6-9854-080027a3c11d","2f43b47e-46fe-11e6-9854-080027a3c11d","2f43bdc0-46fe-11e6-9854-080027a3c11d","2f43b924-46fe-11e6-9854-080027a3c11d","2f43c1da-46fe-11e6-9854-080027a3c11d","2f43bb90-46fe-11e6-9854-080027a3c11d"],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"b"]]',
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":[],"update":{},"create":{"2":{"contactIds":[],"name":"vero ut ducimus nihil"},"5":{"contactIds":[],"name":"similique natus earum error"},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"1":{"contactIds":[],"name":"at rem tempore dolore"},"4":{"contactIds":[],"name":"distinctio totam debitis sapiente"},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"}}},"c"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_rc' => '200',
                                 '_content' => '[["contactGroupsSet",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","created":{"1":{"id":"b61a8bc6-46fe-11e6-9449-080027a3c11d"},"2":{"id":"b61a8842-46fe-11e6-9449-080027a3c11d"},"3":{"id":"b61a91f2-46fe-11e6-9449-080027a3c11d"},"4":{"id":"b61a8ef0-46fe-11e6-9449-080027a3c11d"},"5":{"id":"b61a94cc-46fe-11e6-9449-080027a3c11d"},"6":{"id":"b61a7dde-46fe-11e6-9449-080027a3c11d"}},"destroyed":[],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"c"]]',
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["setContactGroups",{"destroy":[],"update":{},"create":{"2":{"contactIds":[],"name":"vero ut ducimus nihil"},"5":{"contactIds":[],"name":"similique natus earum error"},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"1":{"contactIds":[],"name":"at rem tempore dolore"},"4":{"contactIds":[],"name":"distinctio totam debitis sapiente"},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"}}},"c"]]'
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'access-control-allow-origin' => '*',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:30:51 GMT',
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'connection' => 'close',
                                                        'content-length' => '501',
                                                        'date' => 'Mon, 11 Jul 2016 00:30:51 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'expires' => 'Mon, 11 Jul 2016 00:30:51 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local'
                                                      }, 'HTTP::Headers' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"d"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_rc' => '200',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"b61a91f2-46fe-11e6-9449-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"b61a94cc-46fe-11e6-9449-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"b61a7dde-46fe-11e6-9449-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"b61a8bc6-46fe-11e6-9449-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"b61a8842-46fe-11e6-9449-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"b61a8ef0-46fe-11e6-9449-080027a3c11d","name":"distinctio totam debitis sapiente"}],"notFound":null,"state":"9"},"d"]]',
                                 '_headers' => bless( {
                                                        'expires' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'date' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'content-length' => '700',
                                                        'connection' => 'close',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-response-num' => 'Client-Response-Num'
                                                                        }
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["getContactGroups",{},"d"]]',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"e"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_headers' => bless( {
                                                        'date' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'content-length' => '700',
                                                        'connection' => 'close',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher'
                                                                        },
                                                        'client-date' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-warning' => 'Peer certificate not verified'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'},
                                                        '_content' => '[["getContactGroups",{},"e"]]'
                                                      }, 'HTTP::Request' ),
                                 '_rc' => '200',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"b61a91f2-46fe-11e6-9449-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"b61a7dde-46fe-11e6-9449-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"b61a94cc-46fe-11e6-9449-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"b61a8ef0-46fe-11e6-9449-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"b61a8842-46fe-11e6-9449-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"b61a8bc6-46fe-11e6-9449-080027a3c11d","name":"at rem tempore dolore"}],"notFound":null,"state":"9"},"e"]]',
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"create":{"7":{"name":"laudantium veritatis sit aut","contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"]},"8":{"name":"iste qui dolores ut","contactIds":[]}},"ifInState":"9","accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/","update":{"b61a94cc-46fe-11e6-9449-080027a3c11d":{"contactIds":null,"name":"voluptatum aut aspernatur voluptate"},"b61a8bc6-46fe-11e6-9449-080027a3c11d":{"name":"quo veritatis aperiam ducimus","contactIds":null},"b61a7dde-46fe-11e6-9449-080027a3c11d":{"contactIds":null,"name":"expedita esse aut voluptas"},"b61a91f2-46fe-11e6-9449-080027a3c11d":{"name":"consequatur itaque laborum laborum","contactIds":null},"b61a8842-46fe-11e6-9449-080027a3c11d":{"contactIds":null,"name":"ut voluptas nisi corporis"},"b61a8ef0-46fe-11e6-9449-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null}},"destroy":["b61a91f2-46fe-11e6-9449-080027a3c11d","b61a7dde-46fe-11e6-9449-080027a3c11d","b61a94cc-46fe-11e6-9449-080027a3c11d","b61a8ef0-46fe-11e6-9449-080027a3c11d","b61a8842-46fe-11e6-9449-080027a3c11d","b61a8bc6-46fe-11e6-9449-080027a3c11d"]},"f"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["error",{"type":"accountNotFound"},"f"]]',
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["setContactGroups",{"create":{"7":{"name":"laudantium veritatis sit aut","contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"]},"8":{"name":"iste qui dolores ut","contactIds":[]}},"ifInState":"9","accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/","update":{"b61a94cc-46fe-11e6-9449-080027a3c11d":{"contactIds":null,"name":"voluptatum aut aspernatur voluptate"},"b61a8bc6-46fe-11e6-9449-080027a3c11d":{"name":"quo veritatis aperiam ducimus","contactIds":null},"b61a7dde-46fe-11e6-9449-080027a3c11d":{"contactIds":null,"name":"expedita esse aut voluptas"},"b61a91f2-46fe-11e6-9449-080027a3c11d":{"name":"consequatur itaque laborum laborum","contactIds":null},"b61a8842-46fe-11e6-9449-080027a3c11d":{"contactIds":null,"name":"ut voluptas nisi corporis"},"b61a8ef0-46fe-11e6-9449-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null}},"destroy":["b61a91f2-46fe-11e6-9449-080027a3c11d","b61a7dde-46fe-11e6-9449-080027a3c11d","b61a94cc-46fe-11e6-9449-080027a3c11d","b61a8ef0-46fe-11e6-9449-080027a3c11d","b61a8842-46fe-11e6-9449-080027a3c11d","b61a8bc6-46fe-11e6-9449-080027a3c11d"]},"f"]]',
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'date' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'connection' => 'close',
                                                        '::std_case' => {
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'content-length' => '42',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'content-type' => 'application/json',
                                                        'expires' => 'Mon, 11 Jul 2016 00:30:52 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0'
                                                      }, 'HTTP::Headers' )
                               }, 'HTTP::Response' )
        };
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 26.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 34.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 42.
not ok 1
# Failed test at ./setContactGroups.t line 188.
# +---------------------------------+------------------+-----------+---------------+----------+
# | PATH                            | GOT              | OP        | CHECK         | LNs      |
# +---------------------------------+------------------+-----------+---------------+----------+
# | {accountId} <Check 0>           | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 1> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 27       |
# | {accountId} <Check 2> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 3> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {created} <Check 0>             | <DOES NOT EXIST> |           | <HASH>        | 155, 155 |
# | {updated}                       | <DOES NOT EXIST> |           | <ARRAY>       | 169      |
# | {destroyed}                     | <DOES NOT EXIST> |           | <ARRAY>       | 169      |
# | {notCreated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 173, 173 |
# | {notUpdated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 188, 188 |
# | {notDestroyed} <Check 0>        | <DOES NOT EXIST> |           | <HASH>        | 209, 209 |
# +---------------------------------+------------------+-----------+---------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"g"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["getContactGroups",{},"g"]]',
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:30:53 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:30:53 GMT',
                                                        'connection' => 'close',
                                                        '::std_case' => {
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'content-length' => '700',
                                                        'date' => 'Mon, 11 Jul 2016 00:30:53 GMT'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"b61a94cc-46fe-11e6-9449-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"b61a7dde-46fe-11e6-9449-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"b61a91f2-46fe-11e6-9449-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"b61a8bc6-46fe-11e6-9449-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"b61a8842-46fe-11e6-9449-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"b61a8ef0-46fe-11e6-9449-080027a3c11d","name":"distinctio totam debitis sapiente"}],"notFound":null,"state":"9"},"g"]]',
                                 '_rc' => '200'
                               }, 'HTTP::Response' )
        };
not ok 2
# Failed test at ./setContactGroups.t line 189.
# +----------------+------------------+-----------+---------------------------------------+----------+
# | PATH           | GOT              | OP        | CHECK                                 | LNs      |
# +----------------+------------------+-----------+---------------------------------------+----------+
# |                | HASH(0x12ccb20)  |           | <HASH>                                | 407, 456 |
# | {accountId}    | <DOES NOT EXIST> |           | 18155a1e-46fe-11e6-85de-080027a3c11d/ | 408      |
# | {created}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 433      |
# | {updated}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 442      |
# | {destroyed}    | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 451      |
# | {notCreated}   | <DOES NOT EXIST> |           | <HASH>                                | 453      |
# | {notUpdated}   | <DOES NOT EXIST> |           | <HASH>                                | 454      |
# | {notDestroyed} | <DOES NOT EXIST> |           | <HASH>                                | 455      |
# +----------------+------------------+-----------+---------------------------------------+----------+
^C

real	0m15.945s
user	0m0.220s
sys	0m0.032s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 18155a1e-46fe-11e6-85de-080027a3c11d/:https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_msg' => 'ok',
                                 '_rc' => '200',
                                 '_protocol' => 'HTTP/1.1',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"b61a94cc-46fe-11e6-9449-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"b61a91f2-46fe-11e6-9449-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"b61a8bc6-46fe-11e6-9449-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"b61a7dde-46fe-11e6-9449-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"b61a8ef0-46fe-11e6-9449-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"b61a8842-46fe-11e6-9449-080027a3c11d","name":"vero ut ducimus nihil"}],"notFound":null,"state":"9"},"a"]]',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'expires' => 'Mon, 11 Jul 2016 00:32:45 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        'access-control-allow-origin' => '*',
                                                        'content-type' => 'application/json',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:32:45 GMT',
                                                        'date' => 'Mon, 11 Jul 2016 00:32:45 GMT',
                                                        'content-length' => '700',
                                                        'connection' => 'close'
                                                      }, 'HTTP::Headers' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":["b61a94cc-46fe-11e6-9449-080027a3c11d","b61a91f2-46fe-11e6-9449-080027a3c11d","b61a8bc6-46fe-11e6-9449-080027a3c11d","b61a7dde-46fe-11e6-9449-080027a3c11d","b61a8ef0-46fe-11e6-9449-080027a3c11d","b61a8842-46fe-11e6-9449-080027a3c11d"],"update":{},"create":{}},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroupsSet",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","created":{},"destroyed":["b61a94cc-46fe-11e6-9449-080027a3c11d","b61a91f2-46fe-11e6-9449-080027a3c11d","b61a8bc6-46fe-11e6-9449-080027a3c11d","b61a7dde-46fe-11e6-9449-080027a3c11d","b61a8ef0-46fe-11e6-9449-080027a3c11d","b61a8842-46fe-11e6-9449-080027a3c11d"],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"b"]]',
                                 '_headers' => bless( {
                                                        'client-date' => 'Mon, 11 Jul 2016 00:32:53 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'date' => 'Mon, 11 Jul 2016 00:32:53 GMT',
                                                        'connection' => 'close',
                                                        'content-length' => '435',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'expires' => 'Mon, 11 Jul 2016 00:32:53 GMT',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'cache-control' => 'max-age=0',
                                                        '::std_case' => {
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject'
                                                                        },
                                                        'access-control-allow-origin' => '*',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["setContactGroups",{"destroy":["b61a94cc-46fe-11e6-9449-080027a3c11d","b61a91f2-46fe-11e6-9449-080027a3c11d","b61a8bc6-46fe-11e6-9449-080027a3c11d","b61a7dde-46fe-11e6-9449-080027a3c11d","b61a8ef0-46fe-11e6-9449-080027a3c11d","b61a8842-46fe-11e6-9449-080027a3c11d"],"update":{},"create":{}},"b"]]',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"create":{"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"2":{"contactIds":[],"name":"vero ut ducimus nihil"},"5":{"name":"similique natus earum error","contactIds":[]},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"1":{"name":"at rem tempore dolore","contactIds":[]},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"}},"update":{},"destroy":[]},"c"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_headers' => bless( {
                                                        'expires' => 'Mon, 11 Jul 2016 00:32:59 GMT',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'cache-control' => 'max-age=0',
                                                        '::std_case' => {
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'access-control-allow-origin' => '*',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:32:59 GMT',
                                                        'date' => 'Mon, 11 Jul 2016 00:32:59 GMT',
                                                        'connection' => 'close',
                                                        'content-length' => '501',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["setContactGroups",{"create":{"4":{"name":"distinctio totam debitis sapiente","contactIds":[]},"2":{"contactIds":[],"name":"vero ut ducimus nihil"},"5":{"name":"similique natus earum error","contactIds":[]},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"1":{"name":"at rem tempore dolore","contactIds":[]},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"}},"update":{},"destroy":[]},"c"]]',
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'}
                                                      }, 'HTTP::Request' ),
                                 '_content' => '[["contactGroupsSet",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","created":{"1":{"id":"020a9fc6-46ff-11e6-a916-080027a3c11d"},"2":{"id":"020aa502-46ff-11e6-a916-080027a3c11d"},"3":{"id":"020a9cec-46ff-11e6-a916-080027a3c11d"},"4":{"id":"020a9008-46ff-11e6-a916-080027a3c11d"},"5":{"id":"020aa26e-46ff-11e6-a916-080027a3c11d"},"6":{"id":"020a99a4-46ff-11e6-a916-080027a3c11d"}},"destroyed":[],"newState":null,"notCreated":{},"notDestroyed":{},"notUpdated":{},"oldState":null,"updated":[]},"c"]]',
                                 '_protocol' => 'HTTP/1.1',
                                 '_rc' => '200',
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"d"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_rc' => '200',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"d"]]'
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        '::std_case' => {
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'content-type' => 'application/json',
                                                        'access-control-allow-origin' => '*',
                                                        'cache-control' => 'max-age=0',
                                                        'expires' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'content-length' => '701',
                                                        'connection' => 'close',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'date' => 'Mon, 11 Jul 2016 00:33:00 GMT'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"020aa502-46ff-11e6-a916-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"020a9fc6-46ff-11e6-a916-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"020a9cec-46ff-11e6-a916-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"020a9008-46ff-11e6-a916-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"020a99a4-46ff-11e6-a916-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"020aa26e-46ff-11e6-a916-080027a3c11d","name":"similique natus earum error"}],"notFound":null,"state":"11"},"d"]]'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"e"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"020a9fc6-46ff-11e6-a916-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"020aa502-46ff-11e6-a916-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"020a9cec-46ff-11e6-a916-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"020a9008-46ff-11e6-a916-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"020aa26e-46ff-11e6-a916-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"020a99a4-46ff-11e6-a916-080027a3c11d","name":"deserunt quos omnis rerum"}],"notFound":null,"state":"11"},"e"]]',
                                 '_headers' => bless( {
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'date' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'content-length' => '701',
                                                        'connection' => 'close',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'cache-control' => 'max-age=0',
                                                        'expires' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        '::std_case' => {
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'access-control-allow-origin' => '*',
                                                        'content-type' => 'application/json',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"e"]]',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"update":{"020a9008-46ff-11e6-a916-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null},"020a9cec-46ff-11e6-a916-080027a3c11d":{"name":"consequatur itaque laborum laborum","contactIds":null},"020a99a4-46ff-11e6-a916-080027a3c11d":{"contactIds":null,"name":"expedita esse aut voluptas"},"020aa26e-46ff-11e6-a916-080027a3c11d":{"name":"voluptatum aut aspernatur voluptate","contactIds":null},"020a9fc6-46ff-11e6-a916-080027a3c11d":{"name":"quo veritatis aperiam ducimus","contactIds":null},"020aa502-46ff-11e6-a916-080027a3c11d":{"name":"ut voluptas nisi corporis","contactIds":null}},"create":{"8":{"contactIds":[],"name":"iste qui dolores ut"},"7":{"name":"laudantium veritatis sit aut","contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"]}},"ifInState":"11","destroy":["020a9fc6-46ff-11e6-a916-080027a3c11d","020aa502-46ff-11e6-a916-080027a3c11d","020a9cec-46ff-11e6-a916-080027a3c11d","020a9008-46ff-11e6-a916-080027a3c11d","020aa26e-46ff-11e6-a916-080027a3c11d","020a99a4-46ff-11e6-a916-080027a3c11d"],"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/"},"f"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["error",{"type":"accountNotFound"},"f"]]',
                                 '_headers' => bless( {
                                                        'date' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'content-length' => '42',
                                                        'connection' => 'close',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-response-num' => 1,
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'expires' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'cache-control' => 'max-age=0',
                                                        'access-control-allow-origin' => '*',
                                                        'content-type' => 'application/json',
                                                        '::std_case' => {
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["setContactGroups",{"update":{"020a9008-46ff-11e6-a916-080027a3c11d":{"name":"qui ad rerum ducimus","contactIds":null},"020a9cec-46ff-11e6-a916-080027a3c11d":{"name":"consequatur itaque laborum laborum","contactIds":null},"020a99a4-46ff-11e6-a916-080027a3c11d":{"contactIds":null,"name":"expedita esse aut voluptas"},"020aa26e-46ff-11e6-a916-080027a3c11d":{"name":"voluptatum aut aspernatur voluptate","contactIds":null},"020a9fc6-46ff-11e6-a916-080027a3c11d":{"name":"quo veritatis aperiam ducimus","contactIds":null},"020aa502-46ff-11e6-a916-080027a3c11d":{"name":"ut voluptas nisi corporis","contactIds":null}},"create":{"8":{"contactIds":[],"name":"iste qui dolores ut"},"7":{"name":"laudantium veritatis sit aut","contactIds":["sit aspernatur non perspiciatis","sint fugit earum eius"]}},"ifInState":"11","destroy":["020a9fc6-46ff-11e6-a916-080027a3c11d","020aa502-46ff-11e6-a916-080027a3c11d","020a9cec-46ff-11e6-a916-080027a3c11d","020a9008-46ff-11e6-a916-080027a3c11d","020aa26e-46ff-11e6-a916-080027a3c11d","020a99a4-46ff-11e6-a916-080027a3c11d"],"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d/"},"f"]]',
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 26.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 34.
Use of uninitialized value $params{"got"} in pattern match (m//) at /root/tmp/JMAP-VALIDATION/api-tests/../lib/JMAP/Validation/Checks/String.pm line 42.
not ok 1
# Failed test at ./setContactGroups.t line 188.
# +---------------------------------+------------------+-----------+---------------+----------+
# | PATH                            | GOT              | OP        | CHECK         | LNs      |
# +---------------------------------+------------------+-----------+---------------+----------+
# | {accountId} <Check 0>           | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 1> <Check 1> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 27       |
# | {accountId} <Check 2> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {accountId} <Check 3> <Check 0> | <DOES NOT EXIST> | CODE(...) | <Custom Code> | 14       |
# | {created} <Check 0>             | <DOES NOT EXIST> |           | <HASH>        | 155, 155 |
# | {updated}                       | <DOES NOT EXIST> |           | <ARRAY>       | 169      |
# | {destroyed}                     | <DOES NOT EXIST> |           | <ARRAY>       | 169      |
# | {notCreated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 173, 173 |
# | {notUpdated} <Check 0>          | <DOES NOT EXIST> |           | <HASH>        | 188, 188 |
# | {notDestroyed} <Check 0>        | <DOES NOT EXIST> |           | <HASH>        | 209, 209 |
# +---------------------------------+------------------+-----------+---------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"g"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_rc' => '200',
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               'content-type' => 'application/json',
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"g"]]',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_headers' => bless( {
                                                        'client-date' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'date' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'connection' => 'close',
                                                        'content-length' => '701',
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'expires' => 'Mon, 11 Jul 2016 00:33:00 GMT',
                                                        'content-type' => 'application/json',
                                                        'access-control-allow-origin' => '*',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"020a9cec-46ff-11e6-a916-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"020a9fc6-46ff-11e6-a916-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"020aa502-46ff-11e6-a916-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"020a99a4-46ff-11e6-a916-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"020aa26e-46ff-11e6-a916-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"020a9008-46ff-11e6-a916-080027a3c11d","name":"distinctio totam debitis sapiente"}],"notFound":null,"state":"11"},"g"]]'
                               }, 'HTTP::Response' )
        };
not ok 2
# Failed test at ./setContactGroups.t line 189.
# +----------------+------------------+-----------+---------------------------------------+----------+
# | PATH           | GOT              | OP        | CHECK                                 | LNs      |
# +----------------+------------------+-----------+---------------------------------------+----------+
# |                | HASH(0x2f32fd0)  |           | <HASH>                                | 407, 456 |
# | {accountId}    | <DOES NOT EXIST> |           | 18155a1e-46fe-11e6-85de-080027a3c11d/ | 408      |
# | {created}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 433      |
# | {updated}      | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 442      |
# | {destroyed}    | <DOES NOT EXIST> | CODE(...) | <Custom Code>                         | 451      |
# | {notCreated}   | <DOES NOT EXIST> |           | <HASH>                                | 453      |
# | {notUpdated}   | <DOES NOT EXIST> |           | <HASH>                                | 454      |
# | {notDestroyed} | <DOES NOT EXIST> |           | <HASH>                                | 455      |
# +----------------+------------------+-----------+---------------------------------------+----------+
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"h"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"020a9008-46ff-11e6-a916-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"020aa26e-46ff-11e6-a916-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"020a99a4-46ff-11e6-a916-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"020aa502-46ff-11e6-a916-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"020a9fc6-46ff-11e6-a916-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"020a9cec-46ff-11e6-a916-080027a3c11d","name":"ratione voluptas ut incidunt"}],"notFound":null,"state":"11"},"h"]]',
                                 '_headers' => bless( {
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'expires' => 'Mon, 11 Jul 2016 00:33:01 GMT',
                                                        'content-type' => 'application/json',
                                                        'access-control-allow-origin' => '*',
                                                        '::std_case' => {
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning'
                                                                        },
                                                        'client-response-num' => 1,
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:33:01 GMT',
                                                        'date' => 'Mon, 11 Jul 2016 00:33:01 GMT',
                                                        'content-length' => '701',
                                                        'connection' => 'close'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               }
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"h"]]',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_rc' => '200',
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"update":{},"create":{},"destroy":["020a9008-46ff-11e6-a916-080027a3c11d","020aa26e-46ff-11e6-a916-080027a3c11d","020a99a4-46ff-11e6-a916-080027a3c11d","020aa502-46ff-11e6-a916-080027a3c11d","020a9fc6-46ff-11e6-a916-080027a3c11d","020a9cec-46ff-11e6-a916-080027a3c11d"]},"i"]]'
        };
^C

real	0m43.455s
user	0m0.232s
sys	0m0.056s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 18155a1e-46fe-11e6-85de-080027a3c11d/:https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_headers' => bless( {
                                                        'server' => 'nginx/1.6.2',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:34:35 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-date' => 'Client-Date'
                                                                        },
                                                        'date' => 'Mon, 11 Jul 2016 00:34:35 GMT',
                                                        'content-length' => '701',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:34:35 GMT',
                                                        'connection' => 'close',
                                                        'access-control-allow-origin' => '*',
                                                        'client-response-num' => 1,
                                                        'client-ssl-warning' => 'Peer certificate not verified'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_method' => 'POST',
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_rc' => '200',
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"020aa502-46ff-11e6-a916-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"020a9008-46ff-11e6-a916-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"020a9fc6-46ff-11e6-a916-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"020a99a4-46ff-11e6-a916-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"020aa26e-46ff-11e6-a916-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"020a9cec-46ff-11e6-a916-080027a3c11d","name":"ratione voluptas ut incidunt"}],"notFound":null,"state":"11"},"a"]]'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":["020aa502-46ff-11e6-a916-080027a3c11d","020a9008-46ff-11e6-a916-080027a3c11d","020a9fc6-46ff-11e6-a916-080027a3c11d","020a99a4-46ff-11e6-a916-080027a3c11d","020aa26e-46ff-11e6-a916-080027a3c11d","020a9cec-46ff-11e6-a916-080027a3c11d"],"update":{},"create":{}},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_msg' => 'ok',
                                 '_protocol' => 'HTTP/1.1',
                                 '_headers' => bless( {
                                                        'client-response-num' => 1,
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:34:39 GMT',
                                                        'access-control-allow-origin' => '*',
                                                        'connection' => 'close',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'date' => 'Mon, 11 Jul 2016 00:34:39 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'content-length' => '3519',
                                                        '::std_case' => {
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class'
                                                                        },
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'expires' => 'Mon, 11 Jul 2016 00:34:39 GMT',
                                                        'content-type' => 'application/json',
                                                        'server' => 'nginx/1.6.2'
                                                      }, 'HTTP::Headers' ),
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_content' => '[["setContactGroups",{"destroy":["020aa502-46ff-11e6-a916-080027a3c11d","020a9008-46ff-11e6-a916-080027a3c11d","020a9fc6-46ff-11e6-a916-080027a3c11d","020a99a4-46ff-11e6-a916-080027a3c11d","020aa26e-46ff-11e6-a916-080027a3c11d","020a9cec-46ff-11e6-a916-080027a3c11d"],"update":{},"create":{}},"b"]]',
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' )
                                                      }, 'HTTP::Request' ),
                                 '_content' => '[["error",{"message":"ERROR WITH REQUEST\\n<<<<<<<< DELETE https://carddav-d277161.messagingengine.com:443/dav/addressbooks/user/alfietest1@fastmail.com/Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf HTTP/1.1\\n\\n>>>>>>>> HTTP/1.1 404 Not Found\\n<!DOCTYPE HTML PUBLIC \\"-//W3C//DTD HTML 4.01 Transitional//EN\\" \\"http://www.w3.org/TR/html4/loose.dtd\\">\\n<html>\\n  <head>\\n    <title>404 Not Found</title>\\n  </head>\\n  <body>\\n    <h1>Not Found</h1>\\n    <p>The requested URL was not found on this server.</p>\\n    <hr>\\n    <address>Cyrus-HTTP/3.0.0-beta3-git-fastmail-13606 Cyrus-SASL/2.1.25 OpenSSL/1.0.0 Zlib/1.2.7 LibXML2.9.1 SQLite/3.7.13 LibiCal/2.0 ICU4C/58.0.1 Jansson/2.7 Server at carddav-d277161.messagingengine.com Port 2080</address>\\n  </body>\\n</html>\\n\\n========\\n\\n at /usr/local/share/perl/5.20.2/Net/DAVTalk.pm line 310.\\n\\tNet::DAVTalk::Request(Net::CardDAVTalk=HASH(0x3b1dcd0), \\"DELETE\\", \\"Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf\\") called at /usr/local/share/perl/5.20.2/Net/CardDAVTalk.pm line 307\\n\\tNet::CardDAVTalk::DeleteContact(Net::CardDAVTalk=HASH(0x3b1dcd0), \\"Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/Sync/Common.pm line 169\\n\\tJMAP::Sync::Common::delete_card(JMAP::Sync::Standard=HASH(0x64ffaa0), \\"Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/ImapDB.pm line 134\\n\\tJMAP::ImapDB::backend_cmd(JMAP::ImapDB=HASH(0x54b8588), \\"delete_card\\", \\"Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/ImapDB.pm line 1834\\n\\tJMAP::ImapDB::destroy_contact_groups(JMAP::ImapDB=HASH(0x54b8588), ARRAY(0x1e3cc08)) called at /home/jmap/jmap-perl/JMAP/API.pm line 2250\\n\\tJMAP::API::setContactGroups(JMAP::API=HASH(0x64ff590), HASH(0x1f1d5b8), \\"b\\") called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 601\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 601\\n\\tJMAP::Backend::handle_jmap(JMAP::ImapDB=HASH(0x54b8588), ARRAY(0x1fcd240), \\"#1\\") called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 201\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 187\\n\\tJMAP::Backend::__ANON__(AnyEvent::Handle=HASH(0x655e588), ARRAY(0x1f02a18)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 1735\\n\\tAnyEvent::Handle::__ANON__(AnyEvent::Handle=HASH(0x655e588)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 1310\\n\\tAnyEvent::Handle::_drain_rbuf(AnyEvent::Handle=HASH(0x655e588)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 2009\\n\\tAnyEvent::Handle::__ANON__(EV::IO=SCALAR(0x1ef5b38), 1) called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 120\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 120\\n\\tJMAP::Backend::process_request(JMAP::Backend=HASH(0x18c8738), Net::Server::Proto::TCP=GLOB(0x655e168)) called at /usr/local/share/perl/5.20.2/Net/Server.pm line 74\\n\\tNet::Server::run_client_connection(JMAP::Backend=HASH(0x18c8738)) called at /usr/local/share/perl/5.20.2/Net/Server/Fork.pm line 199\\n\\tNet::Server::Fork::run_client_connection(JMAP::Backend=HASH(0x18c8738)) called at /usr/local/share/perl/5.20.2/Net/Server/Fork.pm line 144\\n\\tNet::Server::Fork::loop(JMAP::Backend=HASH(0x18c8738)) called at /usr/local/share/perl/5.20.2/Net/Server.pm line 60\\n\\tNet::Server::run(\\"JMAP::Backend\\", \\"host\\", \\"127.0.0.1\\", \\"port\\", 5000) called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 124\\n","type":"serverError"},"b"]]',
                                 '_rc' => '200'
                               }, 'HTTP::Response' )
        };
^C

real	0m6.206s
user	0m0.216s
sys	0m0.020s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# }
bash: syntax error near unexpected token `}'
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# 
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# }time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 18155a1e-46fe-11e6-85de-080027a3c11d/:https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_msg' => 'ok',
                                 '_rc' => '200',
                                 '_headers' => bless( {
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'content-length' => '701',
                                                        'client-date' => 'Mon, 11 Jul 2016 00:35:19 GMT',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'client-response-num' => 1,
                                                        'access-control-allow-origin' => '*',
                                                        'date' => 'Mon, 11 Jul 2016 00:35:19 GMT',
                                                        '::std_case' => {
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'client-peer' => 'Client-Peer'
                                                                        },
                                                        'cache-control' => 'max-age=0',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        'expires' => 'Mon, 11 Jul 2016 00:35:19 GMT',
                                                        'connection' => 'close',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"020a9fc6-46ff-11e6-a916-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"020aa502-46ff-11e6-a916-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"020a9008-46ff-11e6-a916-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"020a99a4-46ff-11e6-a916-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"020aa26e-46ff-11e6-a916-080027a3c11d","name":"similique natus earum error"},{"contactIds":[],"id":"020a9cec-46ff-11e6-a916-080027a3c11d","name":"ratione voluptas ut incidunt"}],"notFound":null,"state":"11"},"a"]]',
                                 '_request' => bless( {
                                                        '_uri_canonical' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_uri' => $VAR1->{'RESPONSE'}{'_request'}{'_uri_canonical'},
                                                        '_method' => 'POST'
                                                      }, 'HTTP::Request' ),
                                 '_protocol' => 'HTTP/1.1'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":["020a9fc6-46ff-11e6-a916-080027a3c11d","020aa502-46ff-11e6-a916-080027a3c11d","020a9008-46ff-11e6-a916-080027a3c11d","020a99a4-46ff-11e6-a916-080027a3c11d","020aa26e-46ff-11e6-a916-080027a3c11d","020a9cec-46ff-11e6-a916-080027a3c11d"],"create":{},"update":{}},"b"]]'
        };
^C

real	0m17.920s
user	0m0.244s
sys	0m0.008s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 18155a1e-46fe-11e6-85de-080027a3c11d/:https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/
# Seeded srand with seed '20160711' from local date.
$VAR1 = {
          'REQUEST' => '[["getContactGroups",{},"a"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_protocol' => 'HTTP/1.1',
                                 '_msg' => 'ok',
                                 '_headers' => bless( {
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'content-length' => '701',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'date' => 'Mon, 11 Jul 2016 00:35:42 GMT',
                                                        'expires' => 'Mon, 11 Jul 2016 00:35:42 GMT',
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'connection' => 'close',
                                                        'client-response-num' => 1,
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        '::std_case' => {
                                                                          'client-date' => 'Client-Date',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer'
                                                                        },
                                                        'client-date' => 'Mon, 11 Jul 2016 00:35:42 GMT'
                                                      }, 'HTTP::Headers' ),
                                 '_content' => '[["contactGroups",{"accountId":"18155a1e-46fe-11e6-85de-080027a3c11d","list":[{"contactIds":[],"id":"020a99a4-46ff-11e6-a916-080027a3c11d","name":"deserunt quos omnis rerum"},{"contactIds":[],"id":"020a9cec-46ff-11e6-a916-080027a3c11d","name":"ratione voluptas ut incidunt"},{"contactIds":[],"id":"020aa502-46ff-11e6-a916-080027a3c11d","name":"vero ut ducimus nihil"},{"contactIds":[],"id":"020a9fc6-46ff-11e6-a916-080027a3c11d","name":"at rem tempore dolore"},{"contactIds":[],"id":"020a9008-46ff-11e6-a916-080027a3c11d","name":"distinctio totam debitis sapiente"},{"contactIds":[],"id":"020aa26e-46ff-11e6-a916-080027a3c11d","name":"similique natus earum error"}],"notFound":null,"state":"11"},"a"]]',
                                 '_rc' => '200',
                                 '_request' => bless( {
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_content' => '[["getContactGroups",{},"a"]]',
                                                        '_headers' => bless( {
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' )
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"destroy":["020a99a4-46ff-11e6-a916-080027a3c11d","020a9cec-46ff-11e6-a916-080027a3c11d","020aa502-46ff-11e6-a916-080027a3c11d","020a9fc6-46ff-11e6-a916-080027a3c11d","020a9008-46ff-11e6-a916-080027a3c11d","020aa26e-46ff-11e6-a916-080027a3c11d"],"create":{},"update":{}},"b"]]'
        };
$VAR1 = {
          'RESPONSE' => bless( {
                                 '_request' => bless( {
                                                        '_headers' => bless( {
                                                                               'user-agent' => 'libwww-perl/6.08',
                                                                               '::std_case' => {
                                                                                                 'if-ssl-cert-subject' => 'If-SSL-Cert-Subject'
                                                                                               },
                                                                               'content-type' => 'application/json'
                                                                             }, 'HTTP::Headers' ),
                                                        '_content' => '[["setContactGroups",{"destroy":["020a99a4-46ff-11e6-a916-080027a3c11d","020a9cec-46ff-11e6-a916-080027a3c11d","020aa502-46ff-11e6-a916-080027a3c11d","020a9fc6-46ff-11e6-a916-080027a3c11d","020a9008-46ff-11e6-a916-080027a3c11d","020aa26e-46ff-11e6-a916-080027a3c11d"],"create":{},"update":{}},"b"]]',
                                                        '_uri' => bless( do{\(my $o = 'https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/')}, 'URI::https' ),
                                                        '_method' => 'POST',
                                                        '_uri_canonical' => $VAR1->{'RESPONSE'}{'_request'}{'_uri'}
                                                      }, 'HTTP::Request' ),
                                 '_rc' => '200',
                                 '_content' => '[["error",{"message":"ERROR WITH REQUEST\\n<<<<<<<< DELETE https://carddav-d277161.messagingengine.com:443/dav/addressbooks/user/alfietest1@fastmail.com/Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf HTTP/1.1\\n\\n>>>>>>>> HTTP/1.1 404 Not Found\\n<!DOCTYPE HTML PUBLIC \\"-//W3C//DTD HTML 4.01 Transitional//EN\\" \\"http://www.w3.org/TR/html4/loose.dtd\\">\\n<html>\\n  <head>\\n    <title>404 Not Found</title>\\n  </head>\\n  <body>\\n    <h1>Not Found</h1>\\n    <p>The requested URL was not found on this server.</p>\\n    <hr>\\n    <address>Cyrus-HTTP/3.0.0-beta3-git-fastmail-13606 Cyrus-SASL/2.1.25 OpenSSL/1.0.0 Zlib/1.2.7 LibXML2.9.1 SQLite/3.7.13 LibiCal/2.0 ICU4C/58.0.1 Jansson/2.7 Server at carddav-d277161.messagingengine.com Port 2080</address>\\n  </body>\\n</html>\\n\\n========\\n\\n at /usr/local/share/perl/5.20.2/Net/DAVTalk.pm line 310.\\n\\tNet::DAVTalk::Request(Net::CardDAVTalk=HASH(0x389bab0), \\"DELETE\\", \\"Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf\\") called at /usr/local/share/perl/5.20.2/Net/CardDAVTalk.pm line 307\\n\\tNet::CardDAVTalk::DeleteContact(Net::CardDAVTalk=HASH(0x389bab0), \\"Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/Sync/Common.pm line 169\\n\\tJMAP::Sync::Common::delete_card(JMAP::Sync::Standard=HASH(0x654a640), \\"Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/ImapDB.pm line 134\\n\\tJMAP::ImapDB::backend_cmd(JMAP::ImapDB=HASH(0x5235848), \\"delete_card\\", \\"Default/020a9008-46ff-11e6-a916-080027a3c11d.vcf\\") called at /home/jmap/jmap-perl/JMAP/ImapDB.pm line 1834\\n\\tJMAP::ImapDB::destroy_contact_groups(JMAP::ImapDB=HASH(0x5235848), ARRAY(0x1c740c8)) called at /home/jmap/jmap-perl/JMAP/API.pm line 2250\\n\\tJMAP::API::setContactGroups(JMAP::API=HASH(0x654aa18), HASH(0x1c9b848), \\"b\\") called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 601\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 601\\n\\tJMAP::Backend::handle_jmap(JMAP::ImapDB=HASH(0x5235848), ARRAY(0x1d4b4e0), \\"#1\\") called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 201\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 187\\n\\tJMAP::Backend::__ANON__(AnyEvent::Handle=HASH(0x6355308), ARRAY(0x1c80ca8)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 1735\\n\\tAnyEvent::Handle::__ANON__(AnyEvent::Handle=HASH(0x6355308)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 1310\\n\\tAnyEvent::Handle::_drain_rbuf(AnyEvent::Handle=HASH(0x6355308)) called at /usr/lib/x86_64-linux-gnu/perl5/5.20/AnyEvent/Handle.pm line 2009\\n\\tAnyEvent::Handle::__ANON__(EV::IO=SCALAR(0x1c73dc8), 1) called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 120\\n\\teval {...} called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 120\\n\\tJMAP::Backend::process_request(JMAP::Backend=HASH(0x1646738), Net::Server::Proto::TCP=GLOB(0x6354ee8)) called at /usr/local/share/perl/5.20.2/Net/Server.pm line 74\\n\\tNet::Server::run_client_connection(JMAP::Backend=HASH(0x1646738)) called at /usr/local/share/perl/5.20.2/Net/Server/Fork.pm line 199\\n\\tNet::Server::Fork::run_client_connection(JMAP::Backend=HASH(0x1646738)) called at /usr/local/share/perl/5.20.2/Net/Server/Fork.pm line 144\\n\\tNet::Server::Fork::loop(JMAP::Backend=HASH(0x1646738)) called at /usr/local/share/perl/5.20.2/Net/Server.pm line 60\\n\\tNet::Server::run(\\"JMAP::Backend\\", \\"host\\", \\"127.0.0.1\\", \\"port\\", 5000) called at /home/jmap/jmap-perl/bin/apiendpoint.pl line 124\\n","type":"serverError"},"b"]]',
                                 '_protocol' => 'HTTP/1.1',
                                 '_headers' => bless( {
                                                        'client-ssl-cipher' => 'ECDHE-RSA-AES128-SHA256',
                                                        'access-control-allow-origin' => '*',
                                                        'client-ssl-socket-class' => 'IO::Socket::SSL',
                                                        'content-length' => '3519',
                                                        'client-ssl-cert-issuer' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'server' => 'nginx/1.6.2',
                                                        'client-peer' => '127.0.0.1:443',
                                                        'date' => 'Mon, 11 Jul 2016 00:35:46 GMT',
                                                        'expires' => 'Mon, 11 Jul 2016 00:35:46 GMT',
                                                        'client-response-num' => 1,
                                                        'client-ssl-warning' => 'Peer certificate not verified',
                                                        '::std_case' => {
                                                                          'client-peer' => 'Client-Peer',
                                                                          'client-ssl-cert-subject' => 'Client-SSL-Cert-Subject',
                                                                          'client-ssl-cert-issuer' => 'Client-SSL-Cert-Issuer',
                                                                          'client-ssl-cipher' => 'Client-SSL-Cipher',
                                                                          'client-date' => 'Client-Date',
                                                                          'client-response-num' => 'Client-Response-Num',
                                                                          'client-ssl-warning' => 'Client-SSL-Warning',
                                                                          'client-ssl-socket-class' => 'Client-SSL-Socket-Class',
                                                                          'access-control-allow-origin' => 'Access-Control-Allow-Origin'
                                                                        },
                                                        'client-date' => 'Mon, 11 Jul 2016 00:35:46 GMT',
                                                        'content-type' => 'application/json',
                                                        'client-ssl-cert-subject' => '/C=AU/ST=Victoria/L=Melbourne/O=jmap-proxy.local/OU=testing/CN=*.jmap-proxy.local',
                                                        'cache-control' => 'max-age=0',
                                                        'connection' => 'close'
                                                      }, 'HTTP::Headers' ),
                                 '_msg' => 'ok'
                               }, 'HTTP::Response' )
        };
$VAR1 = {
          'REQUEST' => '[["setContactGroups",{"update":{},"create":{"1":{"name":"at rem tempore dolore","contactIds":[]},"2":{"name":"vero ut ducimus nihil","contactIds":[]},"3":{"contactIds":[],"name":"ratione voluptas ut incidunt"},"6":{"name":"deserunt quos omnis rerum","contactIds":[]},"5":{"contactIds":[],"name":"similique natus earum error"},"4":{"contactIds":[],"name":"distinctio totam debitis sapiente"}},"destroy":[]},"c"]]'
        };
^C

real	0m11.922s
user	0m0.216s
sys	0m0.036s
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# time DEBUG=1 IGNORE_INVALID_CERT=1 ./setContactGroups.t 18155a1e-46fe-11e6-85de-080027a3c11d/:https://jmap-proxy.local/jmap/18155a1e-46fe-11e6-85de-080027a3c11d/^C
root@debiancontrib-jessie:~/tmp/JMAP-VALIDATION/api-tests# exit

Script done on Mon 11 Jul 2016 12:36:59 AM UTC
