### Question:
MessageStoreDeployer extends AbstractSynapseArtifactDeployer { @Override public String deploySynapseArtifact(OMElement artifactConfig, String fileName, Properties properties) { if (log.isDebugEnabled()) { log.debug("Message Store Deployment from file : " + fileName + " : Started"); } try{ SynapseConfiguration config = getSynapseConfiguration(); MessageStore ms = MessageStoreFactory.createMessageStore(artifactConfig, properties, config); if(ms != null) { ms.setFileName((new File(fileName)).getName()); ms.setArtifactContainerName(customLogContent); if (log.isDebugEnabled()) { log.debug("Message Store named '" + ms.getName() + "' has been built from the file " + fileName); } ms.init(getSynapseEnvironment()); if (log.isDebugEnabled()) { log.debug("Initialized the Message Store : " + ms.getName()); } config.addMessageStore(ms.getName(), ms); if (log.isDebugEnabled()) { log.debug("Message Store Deployment from file : " + fileName + " : Completed"); } log.info("Message Store named '" + ms.getName() + "' has been deployed from file : " + fileName); return ms.getName(); } else { handleSynapseArtifactDeploymentError("Message Store Deployment from the file : " + fileName + " : Failed. The artifact " + "described in the file is not a Message Store"); } } catch (Exception e) { handleSynapseArtifactDeploymentError("Message Store Deployment from the file : " + fileName + " : Failed.", e); } return null; }  @Override String deploySynapseArtifact(OMElement artifactConfig, String fileName, Properties properties); @Override String updateSynapseArtifact(OMElement artifactConfig, String fileName, String existingArtifactName, Properties properties); @Override void undeploySynapseArtifact(String artifactName); @Override void restoreSynapseArtifact(String artifactName);  }### Answer:
@Test public void testDeploy() throws Exception { String inputXML = "<messageStore name=\"JMSMS\" class=\"org.apache.synapse.message.store.impl.jms.JmsStore\" xmlns=\"http: + " <parameter name=\"java.naming.factory.initial\">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>" + " <parameter name=\"java.naming.provider.url\">repository/conf/jndi.properties</parameter>" + " <parameter name=\"store.jms.destination\">ordersQueue</parameter>" + " <parameter name=\"store.jms.connection.factory\">QueueConnectionFactory</parameter>" + " <parameter name=\"store.jms.JMSSpecVersion\">1.1</parameter>" + "</messageStore>"; OMElement inputElement = AXIOMUtil.stringToOM(inputXML); MessageStoreDeployer messageStoreDeployer = new MessageStoreDeployer(); SynapseConfiguration synapseConfiguration = new SynapseConfiguration(); AxisConfiguration axisConfiguration = synapseConfiguration.getAxisConfiguration(); ConfigurationContext cfgCtx = new ConfigurationContext(axisConfiguration); SynapseEnvironment synapseEnvironment = new Axis2SynapseEnvironment(cfgCtx, synapseConfiguration); axisConfiguration.addParameter(new Parameter(SynapseConstants.SYNAPSE_ENV, synapseEnvironment)); axisConfiguration.addParameter(new Parameter(SynapseConstants.SYNAPSE_CONFIG, synapseConfiguration)); cfgCtx.setAxisConfiguration(axisConfiguration); messageStoreDeployer.init(cfgCtx); String response = messageStoreDeployer.deploySynapseArtifact(inputElement, "sampleFile", null); Assert.assertEquals("Message store not deployed!", "JMSMS", response); }