Cleanup data_setup
This commit is contained in:
parent
26fe36a961
commit
a1f8ef6c33
|
@ -1,6 +1,6 @@
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
import data, { TDataChannels, TDataGroups, TDataTeams, TDataUsers, TUserRegularChannels } from '../data';
|
import data from '../data';
|
||||||
import random from './random';
|
import random from './random';
|
||||||
|
|
||||||
const TEAM_TYPE = {
|
const TEAM_TYPE = {
|
||||||
|
@ -54,41 +54,6 @@ export const createRandomUser = async (): Promise<ITestUser> => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const createUser = async (username: string, password: string, name: string, email: string) => {
|
|
||||||
console.log(`Creating user ${username}`);
|
|
||||||
try {
|
|
||||||
await rocketchat.post('users.create', {
|
|
||||||
username,
|
|
||||||
password,
|
|
||||||
name,
|
|
||||||
email
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
console.log(JSON.stringify(error));
|
|
||||||
throw new Error('Failed to create user');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const createChannelIfNotExists = async (channelname: string) => {
|
|
||||||
console.log(`Creating public channel ${channelname}`);
|
|
||||||
try {
|
|
||||||
const room = await rocketchat.post('channels.create', {
|
|
||||||
name: channelname
|
|
||||||
});
|
|
||||||
return room;
|
|
||||||
} catch (createError) {
|
|
||||||
try {
|
|
||||||
// Maybe it exists already?
|
|
||||||
const room = rocketchat.get(`channels.info?roomName=${channelname}`);
|
|
||||||
return room;
|
|
||||||
} catch (infoError) {
|
|
||||||
console.log(JSON.stringify(createError));
|
|
||||||
console.log(JSON.stringify(infoError));
|
|
||||||
throw new Error('Failed to find or create public channel');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const createRandomRoom = async (
|
export const createRandomRoom = async (
|
||||||
user: { username: string; password: string },
|
user: { username: string; password: string },
|
||||||
type: 'p' | 'c' = 'c'
|
type: 'p' | 'c' = 'c'
|
||||||
|
@ -126,60 +91,6 @@ export const createRandomTeam = async (user: { username: string; password: strin
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const createTeamIfNotExists = async (teamname: string) => {
|
|
||||||
console.log(`Creating private team ${teamname}`);
|
|
||||||
try {
|
|
||||||
await rocketchat.post('teams.create', {
|
|
||||||
name: teamname,
|
|
||||||
type: TEAM_TYPE.PRIVATE
|
|
||||||
});
|
|
||||||
} catch (createError) {
|
|
||||||
try {
|
|
||||||
// Maybe it exists already?
|
|
||||||
await rocketchat.get(`teams.info?teamName=${teamname}`);
|
|
||||||
} catch (infoError) {
|
|
||||||
console.log(JSON.stringify(createError));
|
|
||||||
console.log(JSON.stringify(infoError));
|
|
||||||
throw new Error('Failed to find or create private team');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const createGroupIfNotExists = async (groupname: string) => {
|
|
||||||
console.log(`Creating private group ${groupname}`);
|
|
||||||
try {
|
|
||||||
await rocketchat.post('groups.create', {
|
|
||||||
name: groupname
|
|
||||||
});
|
|
||||||
} catch (createError) {
|
|
||||||
try {
|
|
||||||
// Maybe it exists already?
|
|
||||||
await rocketchat.get(`groups.info?roomName=${groupname}`);
|
|
||||||
} catch (infoError) {
|
|
||||||
console.log(JSON.stringify(createError));
|
|
||||||
console.log(JSON.stringify(infoError));
|
|
||||||
throw new Error('Failed to find or create private group');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const changeChannelJoinCode = async (roomId: string, joinCode: string) => {
|
|
||||||
console.log(`Changing channel Join Code ${roomId}`);
|
|
||||||
try {
|
|
||||||
await rocketchat.post('method.call/saveRoomSettings', {
|
|
||||||
message: JSON.stringify({
|
|
||||||
msg: 'method',
|
|
||||||
id: process.env.TEST_SESSION,
|
|
||||||
method: 'saveRoomSettings',
|
|
||||||
params: [roomId, { joinCode }]
|
|
||||||
})
|
|
||||||
});
|
|
||||||
} catch (createError) {
|
|
||||||
console.log(JSON.stringify(createError));
|
|
||||||
throw new Error('Failed to create protected channel');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const sendRandomMessage = async ({
|
export const sendRandomMessage = async ({
|
||||||
user,
|
user,
|
||||||
room,
|
room,
|
||||||
|
@ -203,7 +114,7 @@ export const sendRandomMessage = async ({
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const sendMessage = async (user: { username: string; password: string }, channel: string, msg: string, tmid?: string) => {
|
export const sendMessage = async (user: { username: string; password: string }, channel: string, msg: string, tmid?: string) => {
|
||||||
console.log(`Sending message to ${channel}`);
|
console.log(`Sending message to ${channel}`);
|
||||||
try {
|
try {
|
||||||
await login(user.username, user.password);
|
await login(user.username, user.password);
|
||||||
|
@ -215,64 +126,13 @@ const sendMessage = async (user: { username: string; password: string }, channel
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const setup = async () => {
|
export const get = (endpoint: string) => {
|
||||||
await login(data.adminUser, data.adminPassword);
|
|
||||||
|
|
||||||
for (const userKey in data.users) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(data.users, userKey)) {
|
|
||||||
const user = data.users[userKey as TDataUsers];
|
|
||||||
await createUser(user.username, user.password, user.username, user.email);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const channelKey in data.channels) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(data.channels, channelKey)) {
|
|
||||||
const channel = data.channels[channelKey as TDataChannels];
|
|
||||||
const {
|
|
||||||
data: {
|
|
||||||
channel: { _id }
|
|
||||||
}
|
|
||||||
} = await createChannelIfNotExists(channel.name);
|
|
||||||
|
|
||||||
if ('joinCode' in channel) {
|
|
||||||
await changeChannelJoinCode(_id, channel.joinCode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
await login(data.users.regular.username, data.users.regular.password);
|
|
||||||
|
|
||||||
for (const channelKey in data.userRegularChannels) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(data.userRegularChannels, channelKey)) {
|
|
||||||
const channel = data.userRegularChannels[channelKey as TUserRegularChannels];
|
|
||||||
await createChannelIfNotExists(channel.name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const groupKey in data.groups) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(data.groups, groupKey)) {
|
|
||||||
const group = data.groups[groupKey as TDataGroups];
|
|
||||||
await createGroupIfNotExists(group.name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const teamKey in data.teams) {
|
|
||||||
if (Object.prototype.hasOwnProperty.call(data.teams, teamKey)) {
|
|
||||||
const team = data.teams[teamKey as TDataTeams];
|
|
||||||
await createTeamIfNotExists(team.name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const get = (endpoint: string) => {
|
|
||||||
console.log(`GET /${endpoint}`);
|
console.log(`GET /${endpoint}`);
|
||||||
return rocketchat.get(endpoint);
|
return rocketchat.get(endpoint);
|
||||||
};
|
};
|
||||||
|
|
||||||
const post = async (endpoint: string, body: any, user = data.users.regular) => {
|
export const post = async (endpoint: string, body: any, user = data.users.regular) => {
|
||||||
await login(user.username, user.password);
|
await login(user.username, user.password);
|
||||||
console.log(`POST /${endpoint} ${JSON.stringify(body)}`);
|
console.log(`POST /${endpoint} ${JSON.stringify(body)}`);
|
||||||
return rocketchat.post(endpoint, body);
|
return rocketchat.post(endpoint, body);
|
||||||
};
|
};
|
||||||
|
|
||||||
export { setup, sendMessage, get, post, login };
|
|
||||||
|
|
Loading…
Reference in New Issue