2 * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.
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
8 package user.vnspacemanager.languagestyle;
10 import org.opendaylight.nemo.user.vnspacemanager.languagestyle.LanguageIntent;
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;
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;
28 import java.io.StringReader;
29 import java.lang.reflect.Field;
31 import org.junit.Assert;
32 import org.junit.Before;
33 import org.junit.Test;
36 * Created by ldzd11 on 2015/12/14.
38 public class LanguageIntentTest {
40 private LanguageIntent languageIntent;
41 private DataBroker dataBroker;
42 private TenantManage tenantManage;
43 private NEMOparser nemOparser;
45 private UserId userId;
46 // private NemoStatement nemoStatement;
47 private LanguageStyleNemoRequestInput languageStyleNemoRequestInput;
48 private String errorInfo;
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);
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);
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);
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);
87 Assert.assertEquals(languageIntent.LanIntentHandler(aaa, languageStyleNemoRequestInput),nemOparser.parseNEMO(languageStyleNemoRequestInput.getUserId(),languageStyleNemoRequestInput.getNemoStatement(),dataBroker,tenantManage));
89 catch(ParseException e){
92 when(aaa.checkUser(languageStyleNemoRequestInput.getUserId())).thenReturn(errorInfo);
94 Assert.assertEquals(languageIntent.LanIntentHandler(aaa, languageStyleNemoRequestInput),errorInfo);
96 catch(ParseException e){