~unifield-team/unifield-wm/sync-us-55-sync-empty-false

« back to all changes in this revision

Viewing changes to test/message_test.py

  • Committer: Samus CTO
  • Date: 2012-08-28 15:01:57 UTC
  • Revision ID: cto@openerp.com-20120828150157-y7nt5fkt9j3aikia
[FIX] msf_sync_data_* enabled // SP-48

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- coding: utf-8 -*-
2
 
 
3
 
 
4
 
'''
5
 
Created on 22 août 2011
6
 
 
7
 
@author: openerp
8
 
'''
9
 
from common import *
10
 
from config import *
11
 
import uuid
12
 
 
13
 
 
14
 
            
15
 
class TestPoToSo(TestMSFMessage):
16
 
    def setUp(self):
17
 
        self.create_record(client_host, client_port, 'msf_c1', 'product.product', 
18
 
                           {'name' : 'A10'})
19
 
        self.create_record(client_host, client_port, 'msf_c1', 'res.partner', 
20
 
                           {'name' : 'msf_c1', 
21
 
                            'address' : [(0,0, {'name' : 'msf_c1'})]  
22
 
                            })
23
 
        self.create_record(client_host, client_port, 'msf_c2', 'res.partner', 
24
 
                           {'name' : 'msf_c2', 
25
 
                            'address' : [(0,0, {'name' : 'msf_c2'})]  
26
 
                            })
27
 
        self.synchronize(client_host, client_port, 'msf_c1')
28
 
        self.synchronize(client_host, client_port, 'msf_c2')
29
 
        self.synchronize(client_host, client_port, 'msf_c1')
30
 
        
31
 
    """
32
 
        Use case 6
33
 
    """
34
 
    def runTest(self):
35
 
        po_name = 'PO%s' % uuid.uuid1().hex
36
 
        self.create_po(client_host, client_port, 'msf_c1', 'msf_c2', po_name, 'A10')
37
 
        self.synchronize(client_host, client_port, 'msf_c1')
38
 
        self.synchronize(client_host, client_port, 'msf_c2')
39
 
        self.check_model_data_like(client_host, client_port, 'msf_c2', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_c1.' + po_name })
40
 
        
41
 
    
42
 
 
43
 
class TestPoToSo2(TestMSFMessage):
44
 
    
45
 
    def setUp(self):
46
 
        self.create_record(client_host, client_port, 'msf_p2', 'product.product', {'name' : 'A11'})
47
 
        self.create_record(client_host, client_port, 'msf_p2', 'product.product', {'name' : 'A12'})
48
 
        self.create_record(client_host, client_port, 'msf_p2', 'res.partner', 
49
 
                           {
50
 
                            'name' : 'msf_p2', 
51
 
                            'address' : [(0,0, {'name' : 'msf_p2'})]  
52
 
                            })
53
 
        self.synchronize(client_host, client_port, 'msf_p2')
54
 
        self.synchronize(client_host, client_port, 'msf_c2')
55
 
 
56
 
 
57
 
    def runTest(self):
58
 
        po2_name = 'PO%s' % uuid.uuid1().hex
59
 
        po3_name = 'PO%s' % uuid.uuid1().hex
60
 
        self.create_po(client_host, client_port, 'msf_p2', 'msf_c2', po2_name, 'A11')
61
 
        self.create_po(client_host, client_port, 'msf_p2', 'msf_c2', po3_name, 'A12')
62
 
        self.synchronize(client_host, client_port, 'msf_p2')
63
 
        self.synchronize(client_host, client_port, 'msf_c2')
64
 
        self.check_model_data_like(client_host, client_port, 'msf_c2', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p2.' + po2_name })
65
 
        self.check_model_data_like(client_host, client_port, 'msf_c2', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p2.' + po3_name })
66
 
 
67
 
        
68
 
class TestExternalSupplierPO(TestMSFMessage):
69
 
    def setUp(self):
70
 
        self.create_record(client_host, client_port, 'msf_c1', 'product.product', {'name' : 'A13'})
71
 
        self.create_record(client_host, client_port, 'msf_p1', 'product.product', {'name' : 'A14'})
72
 
        self.create_record(client_host, client_port, 'msf_c1', 'res.partner', 
73
 
                           {
74
 
                            'name' : 'external_supplier1', 
75
 
                            'address' : [(0,0, {'name' : 'external_supplier1'})]  
76
 
                            })
77
 
        self.create_record(client_host, client_port, 'msf_p1', 'res.partner', 
78
 
                           {
79
 
                            'name' : 'external_supplier2', 
80
 
                            'address' : [(0,0, {'name' : 'external_supplier2'})]  
81
 
                            })
82
 
    def runTest(self):
83
 
        po4_name = 'PO%s' % uuid.uuid1().hex
84
 
        po5_name = 'PO%s' % uuid.uuid1().hex
85
 
        self.create_po(client_host, client_port, 'msf_c1', 'external_supplier1', po4_name, 'A13')
86
 
        self.create_po(client_host, client_port, 'msf_p1', 'external_supplier2', po5_name, 'A14')
87
 
        self.synchronize(client_host, client_port, 'msf_p1')
88
 
        self.synchronize(client_host, client_port, 'msf_c1')
89
 
        self.synchronize(client_host, client_port, 'msf_p1')
90
 
        self.synchronize(client_host, client_port, 'msf_p2')
91
 
        self.synchronize(client_host, client_port, 'msf_p3')
92
 
        self.synchronize(client_host, client_port, 'msf_c2')
93
 
        self.synchronize(client_host, client_port, 'msf_c3')
94
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_c1.' + po4_name }, False)
95
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p1.' + po5_name }, False)
96
 
        self.check_model_data_like(client_host, client_port, 'msf_p2', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_c1.' + po4_name }, False)
97
 
        self.check_model_data_like(client_host, client_port, 'msf_p2', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p1.' + po5_name }, False)
98
 
        self.check_model_data_like(client_host, client_port, 'msf_p3', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_c1.' + po4_name }, False)
99
 
        self.check_model_data_like(client_host, client_port, 'msf_p3', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p1.' + po5_name }, False)
100
 
        self.check_model_data_like(client_host, client_port, 'msf_c1', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_c1.' + po4_name }, False)
101
 
        self.check_model_data_like(client_host, client_port, 'msf_c1', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p1.' + po5_name }, False)
102
 
        self.check_model_data_like(client_host, client_port, 'msf_c2', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_c1.' + po4_name }, False)
103
 
        self.check_model_data_like(client_host, client_port, 'msf_c2', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p1.' + po5_name }, False)
104
 
        self.check_model_data_like(client_host, client_port, 'msf_c3', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_c1.' + po4_name }, False)
105
 
        self.check_model_data_like(client_host, client_port, 'msf_c3', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p1.' + po5_name }, False)
106
 
    
107
 
class TestExternalSupplierSO(TestMSFMessage):
108
 
    def setUp(self):
109
 
        self.create_record(client_host, client_port, 'msf_c1', 'res.partner', 
110
 
                           {
111
 
                            'name' : 'external_supplier3', 
112
 
                            'address' : [(0,0, {'name' : 'external_supplier3'})]  
113
 
                            })
114
 
    def runTest(self):
115
 
        so4_name = 'SO%s' % uuid.uuid1().hex
116
 
        self.create_so(client_host, client_port, 'msf_c1', 'external_supplier3', so4_name, 'A11')
117
 
        self.synchronize(client_host, client_port, 'msf_c1')
118
 
        self.synchronize(client_host, client_port, 'msf_p1')
119
 
        self.synchronize(client_host, client_port, 'msf_p2')
120
 
        self.synchronize(client_host, client_port, 'msf_p3')
121
 
        self.synchronize(client_host, client_port, 'msf_c2')
122
 
        self.synchronize(client_host, client_port, 'msf_c3')
123
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'purchase.order', {'name' : 'SO', 'partner_ref' : 'msf_p1.' + so4_name }, False)
124
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'purchase.order', {'name' : 'SO', 'partner_ref' : 'msf_p1.' + so4_name }, False)
125
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'purchase.order', {'name' : 'SO', 'partner_ref' : 'msf_p1.' + so4_name }, False)
126
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'purchase.order', {'name' : 'SO', 'partner_ref' : 'msf_p1.' + so4_name }, False)
127
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'purchase.order', {'name' : 'SO', 'partner_ref' : 'msf_p1.' + so4_name }, False)
128
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'purchase.order', {'name' : 'SO', 'partner_ref' : 'msf_p1.' + so4_name }, False)
129
 
        self.check_model_data_like(client_host, client_port, 'msf_p1', 'purchase.order', {'name' : 'SO', 'partner_ref' : 'msf_p1.' + so4_name }, False)
130
 
        
131
 
    
132
 
class TestSoToPo(TestMSFMessage):
133
 
    def setUp(self):
134
 
        self.create_record(client_host, client_port, 'msf_c2', 'product.product', {'name' : 'A11'})
135
 
        self.create_record(client_host, client_port, 'msf_p3', 'res.partner', 
136
 
                           {
137
 
                            'name' : 'msf_p3', 
138
 
                            'address' : [(0,0, {'name' : 'msf_p3'})]  
139
 
                            })
140
 
        self.synchronize(client_host, client_port, 'msf_p3')
141
 
        self.synchronize(client_host, client_port, 'msf_c2')
142
 
    def runTest(self):
143
 
        so5_name = 'SO%s' % uuid.uuid1().hex
144
 
        self.create_so(client_host, client_port, 'msf_c2', 'msf_p3', so5_name, 'A11')
145
 
        self.synchronize(client_host, client_port, 'msf_c2')
146
 
        self.synchronize(client_host, client_port, 'msf_p3')
147
 
        self.check_model_data_like(client_host, client_port, 'msf_p3', 'purchase.order', {'name' : 'PO', 'partner_ref' : 'msf_c2.' + so5_name })
148
 
   
149
 
class TestConfirmPo(TestMSFMessage):
150
 
    def setUp(self):
151
 
        self.po2_name = 'PO%s' % uuid.uuid1().hex
152
 
        self.create_record(client_host, client_port, 'msf_p2', 'product.product', {'name' : 'B309'})
153
 
        self.create_po(client_host, client_port, 'msf_p2', 'msf_c2', self.po2_name, 'B309')
154
 
        self.synchronize(client_host, client_port, 'msf_p2')
155
 
        self.synchronize(client_host, client_port, 'msf_c2')
156
 
    
157
 
    def runTest(self):
158
 
        self.check_model_data(client_host, client_port, 'msf_p2', 'purchase.order', {'name' : self.po2_name, 'state' : 'confirmed'  })
159
 
        self.confirm_so(client_host, client_port, 'msf_c2', 'msf_p2.' + self.po2_name)
160
 
        self.synchronize(client_host, client_port, 'msf_c2')
161
 
        self.synchronize(client_host, client_port, 'msf_p2')
162
 
        self.check_model_data(client_host, client_port, 'msf_p2', 'purchase.order', {'name' : self.po2_name, 'state' : 'approved'  })
163
 
 
164
 
 
165
 
class ShippementConfirmation(TestMSFMessage):
166
 
    def setUp(self):
167
 
        self.po2_name = 'PO%s' % uuid.uuid1().hex
168
 
        self.create_record(client_host, client_port, 'msf_p2', 'product.product', {'name' : 'C4'})
169
 
        self.create_po(client_host, client_port, 'msf_p2', 'msf_c2', self.po2_name, 'C4')
170
 
        self.synchronize(client_host, client_port, 'msf_p2')
171
 
        self.synchronize(client_host, client_port, 'msf_c2')
172
 
        self.confirm_so(client_host, client_port, 'msf_c2', 'msf_p2.' + self.po2_name)
173
 
        self.synchronize(client_host, client_port, 'msf_c2')
174
 
        self.synchronize(client_host, client_port, 'msf_p2')
175
 
        self.check_model_data(client_host, client_port, 'msf_p2', 'purchase.order', {'name' : self.po2_name, 'state' : 'approved'  })
176
 
 
177
 
    def runTest(self):
178
 
        self.confirm_shippements(client_host, client_port, 'msf_c2', 'msf_p2.' + self.po2_name)
179
 
        self.synchronize(client_host, client_port, 'msf_c2')
180
 
        self.synchronize(client_host, client_port, 'msf_p2')
181
 
        self.check_model_data(client_host, client_port, 'msf_p2', 'purchase.order', {'name' : self.po2_name, 'sended_by_supplier' : True  })
182
 
        self.confirm_incoming_shippements(client_host, client_port, 'msf_p2', self.po2_name)
183
 
        self.synchronize(client_host, client_port, 'msf_p2')
184
 
        self.synchronize(client_host, client_port, 'msf_c2')
185
 
        self.check_model_data_like(client_host, client_port, 'msf_c2', 'sale.order', {'name' : 'SO', 'client_order_ref' : 'msf_p2.' + self.po2_name, 'received' : True  })
186
 
        #confirm shippement
187
 
        #check PO2 state
188
 
    
189
 
if __name__ == '__main__':
190
 
    test = unittest.TestSuite()
191
 
    test.addTest(TestPoToSo())
192
 
    test.addTest(TestPoToSo2())
193
 
    test.addTest(TestExternalSupplierPO())
194
 
    test.addTest(TestExternalSupplierSO())
195
 
    test.addTest(TestSoToPo())
196
 
    #Database has to be configured to execute this test
197
 
    test.addTest(TestConfirmPo())
198
 
    test.addTest(ShippementConfirmation())
199
 
    runner = unittest.TextTestRunner(verbosity=2)
200
 
    result = runner.run(test)