1859fc3df7f7f4be67aea875c245cb195368a87e
[nemo.git] / nemo-impl / src / test / java / org / opendaylight / nemo / user / vnspacemanager / languagestyle / LanguageIntentTest.java
1 /*
2  * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package user.vnspacemanager.languagestyle;
9
10 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.LanguageIntent;
11
12 import static org.mockito.Matchers.any;
13 import static org.mockito.Mockito.mock;
14 import static org.mockito.Mockito.times;
15 import static org.mockito.Mockito.verify;
16 import static org.mockito.Mockito.when;
17
18 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
19 import org.opendaylight.nemo.user.tenantmanager.AAA;
20 import org.opendaylight.nemo.user.tenantmanager.TenantManage;
21 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparser;
22 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.NEMOparserTokenManager;
23 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.ParseException;
24 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.NEMOParse.SimpleCharStream;
25 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.common.rev151010.UserId;
26 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.nemo.intent.rev151010.LanguageStyleNemoRequestInput;
27
28 import java.io.StringReader;
29 import java.lang.reflect.Field;
30
31 import org.junit.Assert;
32 import org.junit.Before;
33 import org.junit.Test;
34
35 /**
36  * Created by ldzd11 on 2015/12/14.
37  */
38 public class LanguageIntentTest {
39
40     private LanguageIntent languageIntent;
41     private DataBroker dataBroker;
42     private TenantManage tenantManage;
43     private NEMOparser nemOparser;
44     private AAA aaa;
45     private UserId userId;
46     // private  NemoStatement nemoStatement;
47     private LanguageStyleNemoRequestInput languageStyleNemoRequestInput;
48     private String errorInfo;
49
50     @org.junit.Before
51     public void setUp() throws Exception {
52         Class<NEMOparser> class1 = NEMOparser.class;
53         Class<SimpleCharStream> class2 = SimpleCharStream.class;
54         Class<NEMOparserTokenManager> class3 = NEMOparserTokenManager.class;
55         Field field = class1.getDeclaredField("jj_initialized_once");
56         field.setAccessible(true);
57         Field field1 = class2.getDeclaredField("inputStream");
58         field1.setAccessible(true);
59         Field field2 = class3.getDeclaredField("input_stream");
60         field2.setAccessible(true);
61
62         field.set(class1, false);
63         Assert.assertTrue(!(Boolean) field.get(class1));
64         field1.set(class2, null);
65         Assert.assertTrue(field1.get(class2) == null);
66         field2.set(class3,null);
67         Assert.assertTrue(field2.get(class3) == null);
68
69         userId = mock(UserId.class);
70         // nemoStatement = mock(NemoStatement.class);
71         dataBroker = mock(DataBroker.class);
72         tenantManage = mock(TenantManage.class);
73         languageStyleNemoRequestInput = mock(LanguageStyleNemoRequestInput.class);
74         aaa = mock(AAA.class);
75         // nemOparser = new NEMOparser(new StringReader(""));
76         errorInfo = new String();
77         languageIntent = new LanguageIntent(dataBroker,tenantManage);
78
79     }
80
81     @org.junit.Test
82     public void testLanIntentHandler() throws Exception {
83         when(languageStyleNemoRequestInput.getUserId()).thenReturn(userId);
84         when(languageStyleNemoRequestInput.getNemoStatement()).thenReturn(new String("test"));
85         when(aaa.checkUser(languageStyleNemoRequestInput.getUserId())).thenReturn(null);
86         try{
87             Assert.assertEquals(languageIntent.LanIntentHandler(aaa, languageStyleNemoRequestInput),nemOparser.parseNEMO(languageStyleNemoRequestInput.getUserId(),languageStyleNemoRequestInput.getNemoStatement(),dataBroker,tenantManage));
88         }
89         catch(ParseException e){
90         }
91
92         when(aaa.checkUser(languageStyleNemoRequestInput.getUserId())).thenReturn(errorInfo);
93         try{
94             Assert.assertEquals(languageIntent.LanIntentHandler(aaa, languageStyleNemoRequestInput),errorInfo);
95         }
96         catch(ParseException e){
97         }
98     }
99 }