infinispan 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/Jenkinsfile-release +1 -1
  2. package/README.md +31 -907
  3. package/documentation/asciidoc/stories/assembly_client_usage_examples.adoc +10 -0
  4. package/documentation/asciidoc/stories/assembly_installation_configuration.adoc +20 -0
  5. package/documentation/asciidoc/titles/js_client.asciidoc +28 -0
  6. package/documentation/asciidoc/titles/stories.adoc +5 -0
  7. package/documentation/asciidoc/topics/attributes/community-attributes.adoc +8 -0
  8. package/documentation/asciidoc/topics/attributes/downstream-attributes.adoc +2 -0
  9. package/documentation/asciidoc/topics/code_examples/authentication-digest.js +12 -0
  10. package/documentation/asciidoc/topics/code_examples/authentication-external.js +15 -0
  11. package/documentation/asciidoc/topics/code_examples/authentication-oauthbearer.js +10 -0
  12. package/documentation/asciidoc/topics/code_examples/authentication-plain.js +11 -0
  13. package/documentation/asciidoc/topics/code_examples/authentication-scram.js +11 -0
  14. package/documentation/asciidoc/topics/code_examples/await-multiple-entries.js +36 -0
  15. package/documentation/asciidoc/topics/code_examples/await-single-entries.js +29 -0
  16. package/documentation/asciidoc/topics/code_examples/conditional-operations.js +57 -0
  17. package/documentation/asciidoc/topics/code_examples/connection-multiple-servers.js +23 -0
  18. package/documentation/asciidoc/topics/code_examples/connection-xsite-cluster-switch.js +39 -0
  19. package/documentation/asciidoc/topics/code_examples/connection-xsite.js +13 -0
  20. package/documentation/asciidoc/topics/code_examples/data-types.js +30 -0
  21. package/documentation/asciidoc/topics/code_examples/encryption-crypto-store.js +11 -0
  22. package/documentation/asciidoc/topics/code_examples/encryption-private-key.js +13 -0
  23. package/documentation/asciidoc/topics/code_examples/encryption-sni-hostname.js +9 -0
  24. package/documentation/asciidoc/topics/code_examples/encryption-trust-certs.js +8 -0
  25. package/documentation/asciidoc/topics/code_examples/ephemeral-data.js +52 -0
  26. package/documentation/asciidoc/topics/code_examples/hello-world.js +42 -0
  27. package/documentation/asciidoc/topics/code_examples/key-value-converter.js +67 -0
  28. package/documentation/asciidoc/topics/code_examples/logging-configuration.js +2 -0
  29. package/documentation/asciidoc/topics/code_examples/multiple-entries.js +64 -0
  30. package/documentation/asciidoc/topics/code_examples/register-event-listener.js +64 -0
  31. package/documentation/asciidoc/topics/code_examples/sample-script-execute.js +33 -0
  32. package/documentation/asciidoc/topics/code_examples/sample-script.js +3 -0
  33. package/documentation/asciidoc/topics/code_examples/single-entries.js +49 -0
  34. package/documentation/asciidoc/topics/config_examples/logging.json +14 -0
  35. package/documentation/asciidoc/topics/proc_configuring_authentication.adoc +16 -0
  36. package/documentation/asciidoc/topics/proc_configuring_connections.adoc +25 -0
  37. package/documentation/asciidoc/topics/proc_configuring_connections_xsite.adoc +18 -0
  38. package/documentation/asciidoc/topics/proc_configuring_data_formats.adoc +30 -0
  39. package/documentation/asciidoc/topics/proc_configuring_encryption.adoc +15 -0
  40. package/documentation/asciidoc/topics/proc_configuring_logging.adoc +28 -0
  41. package/documentation/asciidoc/topics/proc_installing_clients.adoc +58 -0
  42. package/documentation/asciidoc/topics/proc_switching_clusters.adoc +17 -0
  43. package/documentation/asciidoc/topics/ref_authentication_mechanisms.adoc +68 -0
  44. package/documentation/asciidoc/topics/ref_client_usage.adoc +116 -0
  45. package/documentation/asciidoc/topics/ref_encryption.adoc +71 -0
  46. package/lib/codec.js +153 -2
  47. package/lib/infinispan.js +33 -1
  48. package/lib/io.js +23 -16
  49. package/lib/protocols.js +165 -68
  50. package/lib/protostream/message-wrapping.proto +134 -0
  51. package/lib/protostream/query.proto +122 -0
  52. package/lib/sasl/bitops.js +24 -0
  53. package/lib/sasl/digest.js +188 -0
  54. package/lib/sasl/external.js +54 -0
  55. package/lib/sasl/factory.js +71 -0
  56. package/lib/sasl/oauthbearer.js +63 -0
  57. package/lib/sasl/plain.js +65 -0
  58. package/lib/sasl/scram.js +135 -0
  59. package/lib/utils.js +1 -1
  60. package/memory-profiling/helper.js +9 -0
  61. package/memory-profiling/infinispan_memory_many_get.js +1 -3
  62. package/memory-profiling/infinispan_memory_one_get.js +6 -4
  63. package/package.json +7 -13
  64. package/run-servers.sh +17 -8
  65. package/run-testsuite.sh +1 -1
  66. package/smoke-tests.sh +8 -2
  67. package/spec/codec_spec.js +7 -7
  68. package/spec/configs/infinispan-clustered.xml +17 -14
  69. package/spec/configs/infinispan-ssl.xml +25 -22
  70. package/spec/configs/infinispan-xsite-EARTH.xml +17 -14
  71. package/spec/configs/infinispan-xsite-MOON.xml +14 -11
  72. package/spec/configs/infinispan.xml +22 -13
  73. package/spec/infinispan_auth_spec.js +16 -37
  74. package/spec/protostream_spec.js +237 -0
  75. package/spec/utils/testing.js +1 -3
  76. package/lib/bitops.js +0 -26
  77. package/lib/scram.js +0 -116
package/run-servers.sh CHANGED
@@ -8,11 +8,13 @@ else
8
8
  trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT
9
9
  fi
10
10
 
11
-
12
- SERVER_VERSION="12.1.2.Final"
13
- SERVER_HOME=server/infinispan-server-$SERVER_VERSION
11
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
12
+ SERVER_VERSION="${SERVER_VERSION:-"13.0.0.Final"}"
13
+ SERVER_HOME=${SCRIPT_DIR}/server/original-server
14
+ SERVER_ZIP=${SCRIPT_DIR}/server/${SERVER_VERSION}.zip
14
15
  CLUSTER_SIZE_MAIN="$SERVER_HOME/bin/cli.sh -c http://admin:pass@localhost:11322 -f batch "
15
16
  ZIP_ROOT="http://downloads.jboss.org/infinispan"
17
+ DOWNLOAD_URL="${DOWNLOAD_URL:-"$ZIP_ROOT/$SERVER_VERSION/infinispan-server-$SERVER_VERSION.zip"}"
16
18
 
17
19
  CONF_DIR_TO_COPY_FROM="spec/configs/"
18
20
  IS_SSL_PROCESSED=0
@@ -42,10 +44,18 @@ function prepareServerDir()
42
44
  local dirName=${4}
43
45
 
44
46
  echo ${isSsl}
45
- if [ ! -f server/infinispan-server-$SERVER_VERSION.zip ]; then
47
+ if [ ! -f "${SERVER_ZIP}" ]; then
46
48
  cd server
47
- wget $ZIP_ROOT/$SERVER_VERSION/infinispan-server-$SERVER_VERSION.zip
48
- unzip infinispan-server-$SERVER_VERSION.zip
49
+ wget "${DOWNLOAD_URL}" -O "${SERVER_ZIP}" --no-check-certificate
50
+ unzip "${SERVER_ZIP}"
51
+
52
+ if [[ ${DOWNLOAD_URL} == *"redhat-datagrid"* ]]; then
53
+ datagrid=$(cd "${SCRIPT_DIR}"/server/redhat-datagrid-*/; pwd)
54
+ mv "$datagrid" "${SERVER_HOME}"
55
+ else
56
+ datagrid=$(cd "${SCRIPT_DIR}"/server/infinispan-server-*/; pwd)
57
+ mv "$datagrid" "${SERVER_HOME}"
58
+ fi
49
59
  cd ..
50
60
  fi
51
61
 
@@ -105,7 +115,7 @@ function startServer()
105
115
  echo 'Run server '$nodeName' in '$SERVER_TMP''
106
116
 
107
117
  if [[ ${isCi} = "--ci" ]]; then
108
- nohup $SERVER_TMP/bin/server.sh -Djavax.net.debug -Dorg.infinispan.openssl=false -c ${confPath} -s ${SERVER_TMP}/${nodeName} ${portStr:-""} --node-name=${nodeName} ${jvmParam:-} &
118
+ nohup $SERVER_TMP/bin/server.sh -Djavax.net.debug -Dorg.infinispan.openssl=false -c ${confPath} -s ${SERVER_TMP}/${nodeName} ${portStr:-""} --node-name=${nodeName} ${jvmParam:-} -Djgroups.bind.address=127.0.0.1 &
109
119
  else
110
120
  ${SERVER_TMP}/bin/server.sh -Djavax.net.debug -Dorg.infinispan.openssl=false -c ${confPath} -s ${SERVER_TMP}/${nodeName} ${portStr:-} --node-name=${nodeName} ${jvmParam:-} &
111
121
  fi
@@ -144,4 +154,3 @@ else
144
154
  sleep 5
145
155
  done
146
156
  fi
147
-
package/run-testsuite.sh CHANGED
@@ -3,4 +3,4 @@
3
3
  # Stop if any errors found
4
4
  set -e
5
5
 
6
- node --trace-deprecation node_modules/jasmine-node/lib/jasmine-node/cli.js spec/* --captureExceptions
6
+ node --trace-deprecation node_modules/jasmine-node/lib/jasmine-node/cli.js spec/* --captureExceptions --forceexit --junitreport
package/smoke-tests.sh CHANGED
@@ -6,9 +6,15 @@ node \
6
6
  --trace-deprecation \
7
7
  node_modules/jasmine-node/lib/jasmine-node/cli.js \
8
8
  spec/codec_spec.js \
9
+ spec/functional_spec.js \
10
+ spec/infinispan_auth_spec.js \
9
11
  spec/infinispan_cluster_spec.js \
10
- spec/infinispan_local_spec.js \
12
+ spec/infinispan_expiry_spec.js \
11
13
  spec/infinispan_json_spec.js \
14
+ spec/infinispan_local_spec.js \
12
15
  spec/infinispan_ssl_spec.js \
16
+ spec/infinispan_stress_spec.js \
13
17
  spec/protocols_spec.js \
14
- --captureExceptions
18
+ spec/tests.js \
19
+ spec/utils_spec.js \
20
+ --captureExceptions --junitreport --forceexit
@@ -120,7 +120,7 @@ function strSize(str) {
120
120
 
121
121
  describe('Variable number encode/decode', function() {
122
122
  it('can resize buffer when encoding a VInt', function() {
123
- assert(Math.pow(2, 31) - 1, 5, singleVIntEncode(Math.pow(2, 31) - 1), singleVIntDecode, 1);
123
+ assert(Math.pow(2, 32) - 1, 5, singleVIntEncode(Math.pow(2, 32) - 1), singleVIntDecode, 1);
124
124
  });
125
125
  it('can resize buffer when encoding a VLong', function() {
126
126
  assert(Math.pow(2, 53) - 1, 8, singleVLongEncode(Math.pow(2, 53) - 1), singleVLongDecode, 1);
@@ -134,12 +134,12 @@ describe('Variable number encode/decode', function() {
134
134
  it('can encode 2^21', function() { encodeDecodeVNum(Math.pow(2, 21)); });
135
135
  it('can encode 2^28 - 1', function() { encodeDecodeVNum(Math.pow(2, 28) - 1); });
136
136
  it('can encode 2^28', function() { encodeDecodeVNum(Math.pow(2, 28)); });
137
- it('can encode 2^31 - 1', function() { encodeDecodeVNum(Math.pow(2, 31) - 1); });
138
- it('fails to encode 2^31 as a VInt because it is out of bounds', function() {
139
- var encode = f.actions([codec.encodeVInt(Math.pow(2, 31))], codec.bytesEncoded);
140
- expect(function() { encode(t.newByteBuf()) }).toThrow('must be less than 2^31');
137
+ it('can encode 2^32 - 1', function() { encodeDecodeVNum(Math.pow(2, 32) - 1); });
138
+ it('fails to encode 2^32 as a VInt because it is out of bounds', function() {
139
+ var encode = f.actions([codec.encodeVInt(Math.pow(2, 32))], codec.bytesEncoded);
140
+ expect(function() { encode(t.newByteBuf()) }).toThrow('must be less than 2^32');
141
141
  });
142
- it('can encode 2^31', function() { encodeDecodeVLong(Math.pow(2, 31)); });
142
+ it('can encode 2^32', function() { encodeDecodeVLong(Math.pow(2, 32)); });
143
143
  it('can encode 2^35 - 1', function() { encodeDecodeVLong(Math.pow(2, 35) - 1); });
144
144
  it('can encode 2^35', function() { encodeDecodeVLong(Math.pow(2, 35)); });
145
145
  it('can encode 2^42 - 1', function() { encodeDecodeVLong(Math.pow(2, 42) - 1); });
@@ -155,7 +155,7 @@ describe('Variable number encode/decode', function() {
155
155
  it('fails to encode a number when it is not a number', function() {
156
156
  var encode = f.actions([codec.encodeVInt('blah')], codec.bytesEncoded);
157
157
  expect(function() { encode(t.newByteBuf()) })
158
- .toThrow('must be a number, must be >= 0, must be less than 2^31');
158
+ .toThrow('must be a number, must be >= 0, must be less than 2^32');
159
159
  });
160
160
  it('fails to encode a number when it is negative', function() {
161
161
  var encode = f.actions([codec.encodeVInt(-1)], codec.bytesEncoded);
@@ -1,9 +1,9 @@
1
1
  <infinispan
2
2
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
- xsi:schemaLocation="urn:infinispan:config:12.1 https://infinispan.org/schemas/infinispan-config-12.1.xsd
4
- urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd"
5
- xmlns="urn:infinispan:config:12.1"
6
- xmlns:server="urn:infinispan:server:12.1">
3
+ xsi:schemaLocation="urn:infinispan:config:13.0 https://infinispan.org/schemas/infinispan-config-13.0.xsd
4
+ urn:infinispan:server:13.0 https://infinispan.org/schemas/infinispan-server-13.0.xsd"
5
+ xmlns="urn:infinispan:config:13.0"
6
+ xmlns:server="urn:infinispan:server:13.0">
7
7
 
8
8
  <cache-container name="clustered" default-cache="default">
9
9
  <!-- <security>-->
@@ -11,13 +11,14 @@
11
11
  <!-- </security>-->
12
12
  <transport cluster="${infinispan.cluster.name}" stack="${infinispan.cluster.stack:tcp}" node-name="${infinispan.node.name:}"/>
13
13
  <!--<global-state/>-->
14
+ <metrics accurate-size="true"/>
14
15
  <distributed-cache name="default" segments="20" remote-timeout="30000">
15
16
  <locking acquire-timeout="30000" concurrency-level="1000" />
16
17
  <encoding media-type="text/plain"/>
17
18
  </distributed-cache>
18
19
  </cache-container>
19
20
 
20
- <server xmlns="urn:infinispan:server:12.0">
21
+ <server xmlns="urn:infinispan:server:13.0">
21
22
  <interfaces>
22
23
  <interface name="public">
23
24
  <inet-address value="${infinispan.bind.address:127.0.0.1}"/>
@@ -47,14 +48,16 @@
47
48
  </security-realms>
48
49
  </security>
49
50
 
50
- <endpoints socket-binding="default" security-realm="default">
51
- <hotrod-connector name="hotrod">
52
- <authentication>
53
- <sasl mechanisms="PLAIN"
54
- server-name="infinispan"/>
55
- </authentication>
56
- </hotrod-connector>
57
- <rest-connector name="rest"/>
51
+ <endpoints>
52
+ <endpoint socket-binding="default" security-realm="default">
53
+ <hotrod-connector name="hotrod">
54
+ <authentication>
55
+ <sasl mechanisms="PLAIN"
56
+ server-name="infinispan"/>
57
+ </authentication>
58
+ </hotrod-connector>
59
+ <rest-connector name="rest"/>
60
+ </endpoint>
58
61
  </endpoints>
59
62
  </server>
60
- </infinispan>
63
+ </infinispan>
@@ -1,12 +1,13 @@
1
1
  <infinispan
2
2
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
- xsi:schemaLocation="urn:infinispan:config:12.1 https://infinispan.org/schemas/infinispan-config-12.1.xsd
4
- urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd"
5
- xmlns="urn:infinispan:config:12.1"
6
- xmlns:server="urn:infinispan:server:12.1">
3
+ xsi:schemaLocation="urn:infinispan:config:13.0 https://infinispan.org/schemas/infinispan-config-13.0.xsd
4
+ urn:infinispan:server:13.0 https://infinispan.org/schemas/infinispan-server-13.0.xsd"
5
+ xmlns="urn:infinispan:config:13.0"
6
+ xmlns:server="urn:infinispan:server:13.0">
7
7
 
8
8
  <cache-container name="local" default-cache="default" statistics="true">
9
9
  <global-state/>
10
+ <metrics accurate-size="true"/>
10
11
  <security>
11
12
  <authorization/>
12
13
  </security>
@@ -23,7 +24,7 @@
23
24
  </local-cache>
24
25
  </cache-container>
25
26
 
26
- <server xmlns="urn:infinispan:server:12.1">
27
+ <server xmlns="urn:infinispan:server:13.0">
27
28
  <interfaces>
28
29
  <interface name="public">
29
30
  <inet-address value="${infinispan.bind.address:127.0.0.1}"/>
@@ -89,24 +90,26 @@
89
90
  </security-realms>
90
91
  </security>
91
92
 
92
- <endpoints socket-binding="default" security-realm="default">
93
- <hotrod-connector>
94
- <authentication>
95
- <sasl mechanisms="PLAIN"
96
- server-name="infinispan"/>
97
- </authentication>
98
- </hotrod-connector>
99
- <rest-connector/>
93
+ <endpoints>
94
+ <endpoint socket-binding="default" security-realm="default">
95
+ <hotrod-connector>
96
+ <authentication>
97
+ <sasl mechanisms="PLAIN"
98
+ server-name="infinispan"/>
99
+ </authentication>
100
+ </hotrod-connector>
101
+ <rest-connector/>
102
+ </endpoint>
103
+ <endpoint socket-binding="hotrod-trust" security-realm="client-cert">
104
+ <hotrod-connector>
105
+ <authentication>
106
+ <sasl mechanisms="PLAIN"
107
+ server-name="infinispan"/>
108
+ </authentication>
109
+ </hotrod-connector>
110
+ <rest-connector/>
111
+ </endpoint>
100
112
  </endpoints>
101
113
 
102
- <endpoints socket-binding="hotrod-trust" security-realm="client-cert">
103
- <hotrod-connector>
104
- <authentication>
105
- <sasl mechanisms="PLAIN"
106
- server-name="infinispan"/>
107
- </authentication>
108
- </hotrod-connector>
109
- <rest-connector/>
110
- </endpoints>
111
114
  </server>
112
115
  </infinispan>
@@ -1,10 +1,10 @@
1
1
  <infinispan
2
2
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
- xsi:schemaLocation="urn:infinispan:config:12.1 https://infinispan.org/schemas/infinispan-config-12.1.xsd
4
- urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd
3
+ xsi:schemaLocation="urn:infinispan:config:13.0 https://infinispan.org/schemas/infinispan-config-13.0.xsd
4
+ urn:infinispan:server:13.0 https://infinispan.org/schemas/infinispan-server-13.0.xsd
5
5
  urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.0.xsd"
6
- xmlns="urn:infinispan:config:12.1"
7
- xmlns:server="urn:infinispan:server:12.1"
6
+ xmlns="urn:infinispan:config:13.0"
7
+ xmlns:server="urn:infinispan:server:13.0">
8
8
  >
9
9
 
10
10
  <jgroups>
@@ -132,6 +132,7 @@
132
132
  <security>
133
133
  <authorization/>
134
134
  </security>
135
+ <metrics accurate-size="true"/>
135
136
  <distributed-cache name="xsiteCache" segments="20" remote-timeout="30000" >
136
137
  <locking acquire-timeout="30000" concurrency-level="1000" />
137
138
  <backups>
@@ -141,7 +142,7 @@
141
142
  </distributed-cache>
142
143
  </cache-container>
143
144
 
144
- <server xmlns="urn:infinispan:server:12.1">
145
+ <server xmlns="urn:infinispan:server:13.0">
145
146
  <interfaces>
146
147
  <interface name="public">
147
148
  <inet-address value="${infinispan.bind.address:127.0.0.1}"/>
@@ -174,15 +175,17 @@
174
175
  </security>
175
176
 
176
177
  <!-- not secured -->
177
- <endpoints socket-binding="default" security-realm="default">
178
- <hotrod-connector name="hotrod">
179
- <authentication>
180
- <sasl mechanisms="PLAIN"/>
181
- </authentication>
182
- </hotrod-connector>
183
- <rest-connector name="rest"/>
184
- <!-- Uncomment to enable the memcached connector -->
185
- <!-- memcached-connector socket-binding="memcached" / -->
178
+ <endpoints>
179
+ <endpoint socket-binding="default" security-realm="default">
180
+ <hotrod-connector name="hotrod">
181
+ <authentication>
182
+ <sasl mechanisms="PLAIN"/>
183
+ </authentication>
184
+ </hotrod-connector>
185
+ <rest-connector name="rest"/>
186
+ <!-- Uncomment to enable the memcached connector -->
187
+ <!-- memcached-connector socket-binding="memcached" / -->
188
+ </endpoint>
186
189
  </endpoints>
187
190
  </server>
188
191
  </infinispan>
@@ -2,7 +2,7 @@
2
2
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
3
  xsi:schemaLocation="urn:infinispan:config:12.1 https://infinispan.org/schemas/infinispan-config-12.1.xsd
4
4
  urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd
5
- urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.0.xsd"
5
+ urn:org:jgroups http://www.jgroups.org/schema/jgroups-4.0.xsd"
6
6
  xmlns="urn:infinispan:config:12.1"
7
7
  xmlns:server="urn:infinispan:server:12.1">
8
8
 
@@ -132,6 +132,7 @@
132
132
  <security>
133
133
  <authorization/>
134
134
  </security>
135
+ <metrics accurate-size="true"/>
135
136
  <distributed-cache name="xsiteCache" segments="20" remote-timeout="30000" >
136
137
  <locking acquire-timeout="30000" concurrency-level="1000"/>
137
138
  <backups>
@@ -143,7 +144,7 @@
143
144
  </distributed-cache>
144
145
  </cache-container>
145
146
 
146
- <server xmlns="urn:infinispan:server:12.1">
147
+ <server xmlns="urn:infinispan:server:13.0">
147
148
  <interfaces>
148
149
  <interface name="public">
149
150
  <inet-address value="${infinispan.bind.address:127.0.0.1}"/>
@@ -176,15 +177,17 @@
176
177
  </security>
177
178
 
178
179
  <!-- not secured -->
179
- <endpoints socket-binding="default" security-realm="default">
180
- <hotrod-connector name="hotrod">
181
- <authentication>
182
- <sasl mechanisms="PLAIN"/>
183
- </authentication>
184
- </hotrod-connector>
185
- <rest-connector name="rest"/>
186
- <!-- Uncomment to enable the memcached connector -->
187
- <!-- memcached-connector socket-binding="memcached" / -->
180
+ <endpoints>
181
+ <endpoint socket-binding="default" security-realm="default">
182
+ <hotrod-connector name="hotrod">
183
+ <authentication>
184
+ <sasl mechanisms="PLAIN"/>
185
+ </authentication>
186
+ </hotrod-connector>
187
+ <rest-connector name="rest"/>
188
+ <!-- Uncomment to enable the memcached connector -->
189
+ <!-- memcached-connector socket-binding="memcached" / -->
190
+ </endpoint>
188
191
  </endpoints>
189
192
  </server>
190
193
  </infinispan>
@@ -1,14 +1,15 @@
1
1
  <infinispan
2
2
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
- xsi:schemaLocation="urn:infinispan:config:12.1 https://infinispan.org/schemas/infinispan-config-12.1.xsd
4
- urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd"
5
- xmlns="urn:infinispan:config:12.1"
6
- xmlns:server="urn:infinispan:server:12.1">
3
+ xsi:schemaLocation="urn:infinispan:config:13.0 https://infinispan.org/schemas/infinispan-config-13.0.xsd
4
+ urn:infinispan:server:13.0 https://infinispan.org/schemas/infinispan-server-13.0.xsd"
5
+ xmlns="urn:infinispan:config:13.0"
6
+ xmlns:server="urn:infinispan:server:13.0">
7
7
 
8
8
  <cache-container name="default" statistics="true" default-cache="default">
9
9
  <!-- <security>-->
10
10
  <!-- <authorization/>-->
11
11
  <!-- </security>-->
12
+ <metrics accurate-size="true"/>
12
13
  <local-cache name="default">
13
14
  <locking acquire-timeout="30000" concurrency-level="1000" />
14
15
  <encoding media-type="text/plain"/>
@@ -23,9 +24,15 @@
23
24
  <local-cache name="jsonCache">
24
25
  <encoding media-type="text/plain"/>
25
26
  </local-cache>
27
+ <local-cache name="protoStreamCache">
28
+ <encoding>
29
+ <key media-type="text/plain"/>
30
+ <value media-type="application/x-protostream"/>
31
+ </encoding>
32
+ </local-cache>
26
33
  </cache-container>
27
34
 
28
- <server xmlns="urn:infinispan:server:12.1">
35
+ <server xmlns="urn:infinispan:server:13.0">
29
36
  <interfaces>
30
37
  <interface name="public">
31
38
  <inet-address value="${infinispan.bind.address:127.0.0.1}"/>
@@ -55,14 +62,16 @@
55
62
  </security-realms>
56
63
  </security>
57
64
 
58
- <endpoints socket-binding="default" security-realm="default">
59
- <hotrod-connector name="hotrod">
60
- <authentication>
61
- <sasl mechanisms="PLAIN"
62
- server-name="infinispan"/>
63
- </authentication>
64
- </hotrod-connector>
65
- <rest-connector name="rest"/>
65
+ <endpoints>
66
+ <endpoint socket-binding="default" security-realm="default">
67
+ <hotrod-connector name="hotrod">
68
+ <authentication>
69
+ <sasl mechanisms="PLAIN DIGEST-MD5 SCRAM-SHA-1 SCRAM-SHA-256 SCRAM-SHA-384 SCRAM-SHA-512"
70
+ server-name="infinispan"/>
71
+ </authentication>
72
+ </hotrod-connector>
73
+ <rest-connector name="rest"/>
74
+ </endpoint>
66
75
  </endpoints>
67
76
  </server>
68
77
  </infinispan>
@@ -1,40 +1,19 @@
1
1
  var t = require('./utils/testing'); // Testing dependency
2
2
 
3
- describe('Infinispan local client', function() {
4
- it('PLAIN', function(done) {t.client(t.local, {authentication: {
5
- enabled: true,
6
- saslMechanism: 'PLAIN',
7
- userName: 'admin',
8
- password: 'pass'
9
- }})
10
- .then(t.assert(t.put('key', 'value')))
11
- .then(t.disconnect())
12
- .catch(t.failed(done))
13
- .finally(done);
14
- });
15
-
16
- // it('SCRAM-SHA-512', function(done) {t.client(t.local, {authentication: {
17
- // enabled: true,
18
- // saslMechanism: 'SCRAM-SHA-1',
19
- // userName: 'admin',
20
- // password: 'pass'
21
- // }})
22
- // .then(t.assert(t.put('key', 'value')))
23
- // .then(t.disconnect())
24
- // .catch(t.failed(done))
25
- // .finally(done);
26
- // });
27
-
28
- // it('DIGEST-MD5', function(done) {t.client(t.local, {authentication: {
29
- // enabled: true,
30
- // saslMechanism: 'DIGEST-MD5',
31
- // userName: 'admin',
32
- // password: 'pass'
33
- // }})
34
- // .then(t.assert(t.put('key', 'value')))
35
- // .then(t.disconnect())
36
- // .catch(t.failed(done))
37
- // .finally(done);
38
- // });
39
-
3
+ describe('Infinispan local client', function () {
4
+ [ 'SCRAM-SHA-1', 'SCRAM-SHA-256', 'SCRAM-SHA-384', 'SCRAM-SHA-512', 'PLAIN', 'DIGEST-MD5'].forEach(m =>
5
+ it(m, function (done) {
6
+ t.client(t.local, {
7
+ authentication: {
8
+ enabled: true,
9
+ saslMechanism: m,
10
+ userName: 'admin',
11
+ password: 'pass'
12
+ }
13
+ })
14
+ .then(t.assert(t.put('key', 'value')))
15
+ .then(t.disconnect())
16
+ .catch(t.failed(done))
17
+ .finally(done);
18
+ }));
40
19
  });