public void testPutMetrics() throws Exception {
SubsetConfiguration configuration = createNiceMock(SubsetConfiguration.class);
Connection connection = createNiceMock(Connection.class);
CallableStatement cstmt = createNiceMock(CallableStatement.class);
MetricsRecord record = createNiceMock(MetricsRecord.class);
Metric metric = createNiceMock(Metric.class);
// set expectations
expect(configuration.getParent()).andReturn(null);
expect(configuration.getPrefix()).andReturn("prefix");
expect(configuration.getString("databaseUrl")).andReturn("url");
expect(record.context()).andReturn("context");
expect(record.name()).andReturn("typeName");
expect(record.tags()).andReturn(new HashSet<MetricsTag>());
expect(record.timestamp()).andReturn(9999L);
expect(record.metrics()).andReturn(Collections.singleton(metric));
expect(metric.name()).andReturn("name").anyTimes();
expect(metric.value()).andReturn(1234);
expect(connection.prepareCall("{call dbo.uspGetMetricRecord(?, ?, ?, ?, ?, ?, ?, ?, ?)}")).andReturn(cstmt);
cstmt.setNString(1, "context");
cstmt.setNString(2, "typeName");
cstmt.setNString(eq(3), (String) anyObject());