Skip to main content
Glama
test-create-page.jsโ€ข3.27 kB
// Test script for createPage functionality const axios = require('axios'); const BASE_URL = 'http://localhost:3001'; const AUTH = { username: 'admin', password: 'admin' }; async function testCreatePage() { console.log('๐Ÿงช Testing createPage functionality...'); try { // 1. Get available templates console.log('\n1. Getting available templates...'); const templatesResponse = await axios.post( `${BASE_URL}/api/methods/getAvailableTemplates`, { path: '/content/we-retail/us/en' }, { auth: AUTH } ); if (!templatesResponse.data.success) { console.error('โŒ Failed to get templates:', templatesResponse.data.error); return; } const templates = templatesResponse.data.data.availableTemplates; console.log(`โœ… Found ${templates.length} templates`); if (templates.length === 0) { console.error('โŒ No templates available for testing'); return; } const template = templates[0].path; console.log(`๐Ÿ“„ Using template: ${template}`); // 2. Create a test page console.log('\n2. Creating test page...'); const pageName = `test-page-${Date.now()}`; const createResponse = await axios.post( `${BASE_URL}/api/methods/createPage`, { parentPath: '/content/we-retail/us/en', title: 'Test Page', name: pageName, template: template }, { auth: AUTH } ); if (!createResponse.data.success) { console.error('โŒ Failed to create page:', createResponse.data.error); return; } const pagePath = createResponse.data.data.pagePath; console.log(`โœ… Page created successfully at: ${pagePath}`); console.log(`โœ… Template used: ${createResponse.data.data.templateUsed}`); console.log(`โœ… jcr:content created: ${createResponse.data.data.jcrContentCreated}`); console.log(`โœ… Page accessible: ${createResponse.data.data.pageAccessible}`); // 3. Verify page structure console.log('\n3. Verifying page structure...'); const pageStructure = createResponse.data.data.pageStructure; if (pageStructure && pageStructure['jcr:content']) { console.log('โœ… Page has proper jcr:content node'); const content = pageStructure['jcr:content']; console.log(` - jcr:primaryType: ${content['jcr:primaryType']}`); console.log(` - jcr:title: ${content['jcr:title']}`); console.log(` - cq:template: ${content['cq:template']}`); // Check for protected properties that should be set by the repository if (content['jcr:created']) { console.log(` - jcr:created: ${content['jcr:created']}`); } if (content['jcr:createdBy']) { console.log(` - jcr:createdBy: ${content['jcr:createdBy']}`); } } else { console.error('โŒ Page does not have proper structure'); } console.log('\nโœ… Test completed successfully!'); } catch (error) { console.error('โŒ Test failed with error:', error.message); if (error.response) { console.error('Response status:', error.response.status); console.error('Response data:', error.response.data); } } } // Run the test testCreatePage().catch(console.error);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/indrasishbanerjee/aem-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server