forked from tuanle96/mcp-odoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_permissions.py
More file actions
92 lines (82 loc) · 2.99 KB
/
test_permissions.py
File metadata and controls
92 lines (82 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/usr/bin/env python3
"""
Test script for the Odoo MCP Server permission system
"""
import os
import sys
import subprocess
import json
def test_permissions():
"""Test the permission system with different configurations"""
print("Testing Odoo MCP Server Permission System")
print("=" * 50)
# Test configurations
test_configs = [
{
"name": "Read-only mode",
"env": {
"ODOO_PERMISSION_READ": "1",
"ODOO_PERMISSION_WRITE": "0",
"ODOO_PERMISSION_UPDATE": "0",
"ODOO_PERMISSION_DELETE": "0"
}
},
{
"name": "Write-only mode",
"env": {
"ODOO_PERMISSION_READ": "0",
"ODOO_PERMISSION_WRITE": "1",
"ODOO_PERMISSION_UPDATE": "0",
"ODOO_PERMISSION_DELETE": "0"
}
},
{
"name": "Full permissions",
"env": {
"ODOO_PERMISSION_READ": "1",
"ODOO_PERMISSION_WRITE": "1",
"ODOO_PERMISSION_UPDATE": "1",
"ODOO_PERMISSION_DELETE": "1"
}
},
{
"name": "No permissions",
"env": {
"ODOO_PERMISSION_READ": "0",
"ODOO_PERMISSION_WRITE": "0",
"ODOO_PERMISSION_UPDATE": "0",
"ODOO_PERMISSION_DELETE": "0"
}
}
]
for config in test_configs:
print(f"\n{config['name']}:")
print("-" * 30)
# Show environment variables
for key, value in config['env'].items():
print(f" {key}={value}")
# Show expected behavior
permissions = config['env']
print("\nExpected behavior:")
print(f" Read operations: {'✓' if permissions['ODOO_PERMISSION_READ'] == '1' else '✗'}")
print(f" Write operations: {'✓' if permissions['ODOO_PERMISSION_WRITE'] == '1' else '✗'}")
print(f" Update operations: {'✓' if permissions['ODOO_PERMISSION_UPDATE'] == '1' else '✗'}")
print(f" Delete operations: {'✓' if permissions['ODOO_PERMISSION_DELETE'] == '1' else '✗'}")
if __name__ == "__main__":
test_permissions()
print("\n" + "=" * 50)
print("To test with actual Odoo connection:")
print("1. Set your Odoo connection environment variables:")
print(" export ODOO_URL='https://your-odoo-instance.com'")
print(" export ODOO_DB='your-database'")
print(" export ODOO_USERNAME='your-username'")
print(" export ODOO_PASSWORD='your-password'")
print("")
print("2. Set permission variables and run the server:")
print(" export ODOO_PERMISSION_READ='1'")
print(" export ODOO_PERMISSION_WRITE='0'")
print(" export ODOO_PERMISSION_UPDATE='0'")
print(" export ODOO_PERMISSION_DELETE='0'")
print(" python -m odoo_mcp")
print("")
print("3. Use the check_permissions tool to verify configuration")