From f8dca30ef9f619d7a53be5b517c985e0e43862cb Mon Sep 17 00:00:00 2001 From: Alexander Borg Date: Sat, 13 Sep 2025 14:14:09 +0200 Subject: [PATCH] Fix jwt-token --- server/test-rbac.js | 166 -------------------------------------------- 1 file changed, 166 deletions(-) diff --git a/server/test-rbac.js b/server/test-rbac.js index 2d703f8..e69de29 100644 --- a/server/test-rbac.js +++ b/server/test-rbac.js @@ -1,166 +0,0 @@ -/** - * Test script to verify RBAC system functionality - */ - -const { hasPermission, ROLES, PERMISSIONS } = require('./middleware/rbac'); - -// Mock users with different roles -const users = { - admin: { - id: 1, - username: 'super_admin', - role: 'admin' - }, - user_admin: { - id: 2, - username: 'user_manager', - role: 'user_admin' - }, - security_admin: { - id: 3, - username: 'security_manager', - role: 'security_admin' - }, - branding_admin: { - id: 4, - username: 'branding_manager', - role: 'branding_admin' - }, - operator: { - id: 5, - username: 'device_operator', - role: 'operator' - }, - viewer: { - id: 6, - username: 'read_only_user', - role: 'viewer' - } -}; - -console.log('๐Ÿงช Testing RBAC System\n'); - -// Display available roles and their permissions -console.log('๐Ÿ“‹ Available Roles:'); -Object.entries(ROLES).forEach(([role, permissions]) => { - console.log(` ${role}: ${permissions.join(', ')}`); -}); - -console.log('\n๐Ÿ“‹ Available Permissions:'); -Object.entries(PERMISSIONS).forEach(([permission, description]) => { - console.log(` ${permission}: ${description}`); -}); - }, - security_admin: { - id: 3, - username: 'security_manager', - role: 'security_admin' - }, - branding_admin: { - id: 4, - username: 'branding_manager', - role: 'branding_admin' - }, - operator: { - id: 5, - username: 'basic_operator', - role: 'operator' - }, - viewer: { - id: 6, - username: 'read_only', - role: 'viewer' - } -}; - -// Test scenarios -const testScenarios = [ - { - name: 'Admin - Full Access', - user: users.admin, - permissions: ['tenant.view', 'tenant.edit', 'branding.edit', 'security.edit', 'users.create', 'users.edit', 'users.delete'], - expectedResults: [true, true, true, true, true, true, true] - }, - { - name: 'User Admin - User Management Only', - user: users.user_admin, - permissions: ['tenant.view', 'tenant.edit', 'branding.edit', 'security.edit', 'users.create', 'users.edit', 'users.delete'], - expectedResults: [true, false, false, false, true, true, true] - }, - { - name: 'Security Admin - Security Only', - user: users.security_admin, - permissions: ['tenant.view', 'tenant.edit', 'branding.edit', 'security.edit', 'users.create', 'users.edit', 'users.delete'], - expectedResults: [true, false, false, true, false, false, false] - }, - { - name: 'Branding Admin - Branding Only', - user: users.branding_admin, - permissions: ['tenant.view', 'tenant.edit', 'branding.edit', 'security.edit', 'users.create', 'users.edit', 'users.delete'], - expectedResults: [true, false, true, false, false, false, false] - }, - { - name: 'Operator - Limited Access', - user: users.operator, - permissions: ['tenant.view', 'tenant.edit', 'branding.edit', 'security.edit', 'users.create', 'users.edit', 'users.delete'], - expectedResults: [true, false, false, false, false, false, false] - }, - { - name: 'Viewer - Read Only', - user: users.viewer, - permissions: ['tenant.view', 'tenant.edit', 'branding.edit', 'security.edit', 'users.create', 'users.edit', 'users.delete'], - expectedResults: [true, false, false, false, false, false, false] - } -]; - -console.log('๐Ÿงช Testing RBAC System\n'); - -// Display available roles and permissions -console.log('๐Ÿ“‹ Available Roles:'); -Object.keys(ROLES).forEach(role => { - console.log(` ${role}: ${ROLES[role].join(', ')}`); -}); - -console.log('\n๐Ÿ“‹ Available Permissions:'); -Object.keys(PERMISSIONS).forEach(category => { - console.log(` ${category}:`); - PERMISSIONS[category].forEach(permission => { - console.log(` - ${permission}`); - }); -}); - -console.log('\n๐Ÿ” Running Permission Tests:\n'); - -// Run tests -let totalTests = 0; -let passedTests = 0; - -testScenarios.forEach(scenario => { - console.log(`\n๐Ÿ‘ค ${scenario.name} (${scenario.user.username})`); - console.log('โ”€'.repeat(50)); - - scenario.permissions.forEach((permission, index) => { - totalTests++; - const result = hasPermission(scenario.user, permission); - const expected = scenario.expectedResults[index]; - const passed = result === expected; - - if (passed) passedTests++; - - const status = passed ? 'โœ…' : 'โŒ'; - const expectedText = expected ? 'ALLOW' : 'DENY'; - const actualText = result ? 'ALLOW' : 'DENY'; - - console.log(` ${status} ${permission}: Expected ${expectedText}, Got ${actualText}`); - }); -}); - -console.log('\n๐Ÿ“Š Test Results:'); -console.log(` Passed: ${passedTests}/${totalTests}`); -console.log(` Success Rate: ${Math.round((passedTests/totalTests) * 100)}%`); - -if (passedTests === totalTests) { - console.log('\n๐ŸŽ‰ All tests passed! RBAC system is working correctly.'); -} else { - console.log('\nโš ๏ธ Some tests failed. Please check the RBAC configuration.'); -}